Annotation Type BeforeAll

    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.

    Method Signatures

    @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.

    See Also:
    AfterAll, BeforeEach, AfterEach, Test, TestFactory, TestInstance