@RepeatedTest
is used to signal that the annotated method is a
test template method that should be repeated a specified number of times with a configurable display
name and an optional failure threshold.
Each invocation of the repeated test behaves like the execution of a
regular @Test
method with full support for the same lifecycle
callbacks and extensions. In addition, the current repetition and total
number of repetitions can be accessed by having the RepetitionInfo
injected.
@RepeatedTest
methods must not be private
or static
and must return void
.
@RepeatedTest
methods may optionally declare parameters to be
resolved by ParameterResolvers
.
@RepeatedTest
may also be used as a meta-annotation in order to
create a custom composed annotation that inherits the semantics
of @RepeatedTest
.
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.
.
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.
DisplayName
, RepetitionInfo
, TestTemplate
, TestInfo
, Test
Modifier and Type | Field and Description |
---|---|
public static final String | CURRENT_REPETITION_PLACEHOLDER
Placeholder for the current repetition count of a |
public static final String | DISPLAY_NAME_PLACEHOLDER
Placeholder for the display name of
a |
public static final String | LONG_DISPLAY_NAME
Long display name pattern for a repeated test: {displayName} :: repetition {currentRepetition} of {totalRepetitions} |
public static final String | SHORT_DISPLAY_NAME
Short display name pattern for a repeated test: repetition {currentRepetition} of {totalRepetitions} |
public static final String | TOTAL_REPETITIONS_PLACEHOLDER
Placeholder for the total number of repetitions of a |
Modifier and Type | Method and Description |
---|---|
public int | Returns: the failure threshold; must be greater than zero and less than the total number of repetitionsConfigures the number of failures after which remaining repetitions will be automatically skipped. |
public String | Returns: a custom display name; never blank or consisting solely of whitespaceThe display name for each repetition of the repeated test. |
public int |
CURRENT_REPETITION_PLACEHOLDER | back to summary |
---|---|
public static final String CURRENT_REPETITION_PLACEHOLDER Placeholder for the current repetition count of a |
DISPLAY_NAME_PLACEHOLDER | back to summary |
---|---|
public static final String DISPLAY_NAME_PLACEHOLDER Placeholder for the display name of
a |
LONG_DISPLAY_NAME | back to summary |
---|---|
public static final String LONG_DISPLAY_NAME Long display name pattern for a repeated test: {displayName} :: repetition {currentRepetition} of {totalRepetitions}
|
SHORT_DISPLAY_NAME | back to summary |
---|---|
public static final String SHORT_DISPLAY_NAME Short display name pattern for a repeated test: repetition {currentRepetition} of {totalRepetitions} |
TOTAL_REPETITIONS_PLACEHOLDER | back to summary |
---|---|
public static final String TOTAL_REPETITIONS_PLACEHOLDER Placeholder for the total number of repetitions of a |
failureThreshold | back to summary |
---|---|
public int failureThreshold() Configures the number of failures after which remaining repetitions will be automatically skipped. Set this to a positive number less than the total number of repetitions in order to skip the invocations of remaining repetitions after the specified number of failures has been encountered. For example, if you are using Defaults to Warning if the repetitions of a
|
name | back to summary |
---|---|
public String name() The display name for each repetition of the repeated test. Supported placeholdersDefaults to Can be set to Alternatively, you can provide a custom display name, optionally using the aforementioned placeholders.
|
value | back to summary |
---|---|
public int value() The number of repetitions.
|