public class EventPublishingTestExecutionListener extends AbstractTestExecutionListener
TestExecutionListener
that publishes test execution events to the
ApplicationContext
for the currently executing test. Events are only published if the
ApplicationContext has already been loaded.
BeforeTestClassEventPrepareTestInstanceEventBeforeTestMethodEventBeforeTestExecutionEventAfterTestExecutionEventAfterTestMethodEventAfterTestClassEventThese events may be consumed for various reasons, such as resetting mock
beans or tracing test execution. One advantage of consuming test events rather
than implementing a custom TestExecutionListener is that test events
may be consumed by any Spring bean registered in the test ApplicationContext,
and such beans may benefit directly from dependency injection and other features
of the ApplicationContext. In contrast, a TestExecutionListener
is not a bean in the ApplicationContext.
By default, if a test event listener throws an exception while consuming
a test event, that exception will propagate to the underlying testing framework
in use. For example, if the consumption of a BeforeTestMethodEvent
results in an exception, the corresponding test method will fail as a result
of the exception. In contrast, if an asynchronous test event listener throws
an exception, the exception will not propagate to the underlying testing framework.
For further details on asynchronous exception handling, consult the class-level
Javadoc for @EventListener.
If you want a particular test event listener to process events asynchronously,
you can use Spring's @Async
support. For further details, consult the class-level Javadoc for
@EventListener.
@BeforeTestClass,
@PrepareTestInstance,
@BeforeTestMethod,
@BeforeTestExecution,
@AfterTestExecution,
@AfterTestMethod,
@AfterTestClass| Constructor and Description |
|---|
EventPublishingTestExecutionListener() |
| Modifier and Type | Method and Description |
|---|---|
void |
afterTestClass(TestContext testContext)
|
void |
afterTestExecution(TestContext testContext)
|
void |
afterTestMethod(TestContext testContext)
|
void |
beforeTestClass(TestContext testContext)
|
void |
beforeTestExecution(TestContext testContext)
|
void |
beforeTestMethod(TestContext testContext)
|
int |
getOrder()
Returns
10000. |
void |
prepareTestInstance(TestContext testContext)
|
public EventPublishingTestExecutionListener()
public final int getOrder()
10000.getOrder in interface org.springframework.core.OrderedgetOrder in class AbstractTestExecutionListenerpublic void beforeTestClass(TestContext testContext)
beforeTestClass in interface TestExecutionListenerbeforeTestClass in class AbstractTestExecutionListenertestContext - the test context for the test; never nullpublic void prepareTestInstance(TestContext testContext)
prepareTestInstance in interface TestExecutionListenerprepareTestInstance in class AbstractTestExecutionListenertestContext - the test context for the test; never nullpublic void beforeTestMethod(TestContext testContext)
beforeTestMethod in interface TestExecutionListenerbeforeTestMethod in class AbstractTestExecutionListenertestContext - the test context in which the test method will be
executed; never nullTestExecutionListener.afterTestMethod(org.springframework.test.context.TestContext),
TestExecutionListener.beforeTestExecution(org.springframework.test.context.TestContext),
TestExecutionListener.afterTestExecution(org.springframework.test.context.TestContext)public void beforeTestExecution(TestContext testContext)
beforeTestExecution in interface TestExecutionListenerbeforeTestExecution in class AbstractTestExecutionListenertestContext - the test context in which the test method will be
executed; never nullTestExecutionListener.beforeTestMethod(org.springframework.test.context.TestContext),
TestExecutionListener.afterTestMethod(org.springframework.test.context.TestContext),
TestExecutionListener.afterTestExecution(org.springframework.test.context.TestContext)public void afterTestExecution(TestContext testContext)
afterTestExecution in interface TestExecutionListenerafterTestExecution in class AbstractTestExecutionListenertestContext - the test context in which the test method will be
executed; never nullTestExecutionListener.beforeTestMethod(org.springframework.test.context.TestContext),
TestExecutionListener.afterTestMethod(org.springframework.test.context.TestContext),
TestExecutionListener.beforeTestExecution(org.springframework.test.context.TestContext)public void afterTestMethod(TestContext testContext)
afterTestMethod in interface TestExecutionListenerafterTestMethod in class AbstractTestExecutionListenertestContext - the test context in which the test method was
executed; never nullTestExecutionListener.beforeTestMethod(org.springframework.test.context.TestContext),
TestExecutionListener.beforeTestExecution(org.springframework.test.context.TestContext),
TestExecutionListener.afterTestExecution(org.springframework.test.context.TestContext)public void afterTestClass(TestContext testContext)
afterTestClass in interface TestExecutionListenerafterTestClass in class AbstractTestExecutionListenertestContext - the test context for the test; never null