Annotation Interface Test
@Test is used to signal that the annotated method is a
test method.
@Test methods must not be private or static
and must not return a value.
@Test methods may optionally declare parameters to be
resolved by ParameterResolvers.
@Test may also be used as a meta-annotation in order to create
a custom composed annotation that inherits the semantics of
@Test.
Test Execution Order
By default, test methods will be ordered using an algorithm that is
deterministic but intentionally nonobvious. This ensures that subsequent runs
of a test suite execute test methods in the same order, thereby allowing for
repeatable builds. In this context, a test method is any instance
method that is directly annotated or meta-annotated with @Test,
@RepeatedTest, @ParameterizedTest, @TestFactory, or
@TestTemplate.
Although true unit tests typically should not rely on the order
in which they are executed, there are times when it is necessary to enforce
a specific test method execution order — for example, when writing
integration tests or functional tests where the sequence of
the tests is important, especially in conjunction with
@TestInstance(Lifecycle.PER_CLASS).
To control the order in which test methods are executed, annotate your
test class or test interface with @TestMethodOrder
and specify the desired MethodOrderer implementation.
- Since:
- 5.0
- See Also:
-
RepeatedTestorg.junit.jupiter.params.ParameterizedTestTestTemplateTestFactoryTestInfoDisplayNameTagBeforeAllAfterAllBeforeEachAfterEach