@FunctionalInterface
@API(status=STABLE,
since="5.0")
public interface BeforeTestExecutionCallback
extends Extension
BeforeTestExecutionCallback defines the API for Extensions that wish to provide additional behavior to tests
immediately before an individual test is executed but after
any user-defined setup methods (e.g.,
@BeforeEach methods) have been
executed for that test.
Concrete implementations often implement AfterTestExecutionCallback
as well. If you wish to have your callbacks wrapped around user-defined
setup and teardown methods, implement BeforeEachCallback and
AfterEachCallback instead of BeforeTestExecutionCallback and
AfterTestExecutionCallback.
Consult the documentation in Extension for details on
constructor requirements.
JUnit Jupiter guarantees wrapping behavior for multiple
registered extensions that implement lifecycle callbacks such as
BeforeAllCallback, AfterAllCallback,
BeforeEachCallback, AfterEachCallback,
BeforeTestExecutionCallback, and AfterTestExecutionCallback.
That means that, given two extensions Extension1 and
Extension2 with Extension1 registered before
Extension2, any "before" callbacks implemented by Extension1
are guaranteed to execute before any "before" callbacks implemented by
Extension2. Similarly, given the two same two extensions registered
in the same order, any "after" callbacks implemented by Extension1
are guaranteed to execute after any "after" callbacks implemented by
Extension2. Extension1 is therefore said to wrap
Extension2.
Test,
AfterTestExecutionCallback,
BeforeEachCallback,
AfterEachCallback,
BeforeAllCallback,
AfterAllCallback| Modifier and Type | Method and Description |
|---|---|
void |
beforeTestExecution(ExtensionContext context)
Callback that is invoked immediately before an individual test is
executed but after any user-defined setup methods have been executed
for that test.
|
void beforeTestExecution(ExtensionContext context) throws java.lang.Exception
context - the current extension context; never nulljava.lang.Exception