@Target(value={ANNOTATION_TYPE,METHOD}) @Retention(value=RUNTIME) @Documented @API(status=STABLE, since="5.0") public @interface BeforeAll
@BeforeAll
is used to signal that the annotated method should be
executed before all tests in the current test class.
In contrast to @BeforeEach
methods, @BeforeAll
methods are only executed once for a given test class.
@BeforeAll
methods must have a void
return type,
must not be private
, and must be static
by default.
Consequently, @BeforeAll
methods are not
supported in @Nested
test classes or as interface default
methods unless the test class is annotated with
@TestInstance(Lifecycle.PER_CLASS)
. @BeforeAll
methods may optionally declare parameters to be resolved by
ParameterResolvers
.
@BeforeAll
methods are inherited from superclasses as long as
they are not hidden or overridden. Furthermore,
@BeforeAll
methods from superclasses will be executed before
@BeforeAll
methods in subclasses.
@BeforeAll
may be used as a meta-annotation in order to create
a custom composed annotation that inherits the semantics of
@BeforeAll
.
AfterAll
,
BeforeEach
,
AfterEach
,
Test
,
TestFactory
,
TestInstance