Class ApplicationEventsHolder

java.lang.Object
org.springframework.test.context.event.ApplicationEventsHolder

public abstract class ApplicationEventsHolder extends Object
Holder class to expose the application events published during the execution of a test in the form of a thread-bound ApplicationEvents object.

ApplicationEvents are registered in this holder and managed by the ApplicationEventsTestExecutionListener.

Although this class is public, it is only intended for use within the Spring TestContext Framework or in the implementation of third-party extensions. Test authors should therefore allow the current instance of ApplicationEvents to be @Autowired into a field in the test class or injected via a parameter in test and lifecycle methods when using JUnit Jupiter and the SpringExtension.

Since:
5.3.3
Author:
Sam Brannen, Oliver Drotbohm, Simon Baslé
See Also:
  • Method Details

    • getApplicationEvents

      public static @Nullable ApplicationEvents getApplicationEvents()
      Get the ApplicationEvents for the current thread.
      Returns:
      the current ApplicationEvents, or null if not registered
    • getRequiredApplicationEvents

      public static ApplicationEvents getRequiredApplicationEvents()
      Get the ApplicationEvents for the current thread.
      Returns:
      the current ApplicationEvents
      Throws:
      IllegalStateException - if an instance of ApplicationEvents has not been registered for the current thread