Annotation Type BeforeAll


  • @Target({ANNOTATION_TYPE,METHOD})
    @Retention(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.

    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.

    Inheritance

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

    Composition

    @BeforeAll may be used as a meta-annotation in order to create a custom composed annotation that inherits the semantics of @BeforeAll.

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