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
.
org.junit.jupiter.api.BeforeEach
, AfterEachCallback
, BeforeTestExecutionCallback
, AfterTestExecutionCallback
, BeforeAllCallback
, AfterAllCallback
Modifier and Type | Method and Description |
---|---|
public void | beforeEach(ExtensionContext
the current extension context; never context)null Callback that is invoked before an individual test and any user-defined setup methods for that test have been executed. |
beforeEach | back to summary |
---|---|
public void beforeEach(ExtensionContext context) throws Exception Callback that is invoked before an individual test and any user-defined setup methods for that test have been executed.
|