@FunctionalInterface
@API(status=STABLE,
since="5.0")
public interface BeforeEachCallback
extends Extension
BeforeEachCallback defines the API for Extensions
that wish to provide additional behavior to tests before an individual test
and any user-defined setup methods (e.g.,
@BeforeEach methods) for that test
have been executed.
Concrete implementations often implement AfterEachCallback as well.
If you do not wish to have your callbacks wrapped around user-defined
setup and teardown methods, implement BeforeTestExecutionCallback and
AfterTestExecutionCallback instead of BeforeEachCallback and
AfterEachCallback.
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.
BeforeEach,
AfterEachCallback,
BeforeTestExecutionCallback,
AfterTestExecutionCallback,
BeforeAllCallback,
AfterAllCallback| Modifier and Type | Method and Description |
|---|---|
void |
beforeEach(ExtensionContext context)
Callback that is invoked before an individual test and any
user-defined setup methods for that test have been executed.
|
void beforeEach(ExtensionContext context) throws java.lang.Exception
context - the current extension context; never nulljava.lang.Exception