@Target(value={ANNOTATION_TYPE,METHOD}) @Retention(value=RUNTIME) @Documented @API(status=STABLE, since="5.0") @TestTemplate public @interface RepeatedTest
@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.
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.
DisplayName,
RepetitionInfo,
TestTemplate,
TestInfo,
Test| Modifier and Type | Fields and Description |
|---|---|
static String |
CURRENT_REPETITION_PLACEHOLDER
Placeholder for the current repetition count of a
@RepeatedTest
method: {currentRepetition} |
static String |
DISPLAY_NAME_PLACEHOLDER
|
static String |
LONG_DISPLAY_NAME
Long display name pattern for a repeated test: "{displayName} :: repetition {currentRepetition} of {totalRepetitions}"
|
static String |
SHORT_DISPLAY_NAME
Short display name pattern for a repeated test: "repetition {currentRepetition} of {totalRepetitions}"
|
static String |
TOTAL_REPETITIONS_PLACEHOLDER
Placeholder for the total number of repetitions of a
@RepeatedTest
method: {totalRepetitions} |
| Modifier and Type | Required Element and Description |
|---|---|
int |
value
The number of repetitions.
|
public static final String DISPLAY_NAME_PLACEHOLDER
public static final String CURRENT_REPETITION_PLACEHOLDER
@RepeatedTest
method: {currentRepetition}public static final String TOTAL_REPETITIONS_PLACEHOLDER
@RepeatedTest
method: {totalRepetitions}public static final String SHORT_DISPLAY_NAME
public static final String LONG_DISPLAY_NAME
DISPLAY_NAME_PLACEHOLDER,
SHORT_DISPLAY_NAMEpublic abstract int value
public abstract String name
Defaults to SHORT_DISPLAY_NAME, resulting in
names such as "repetition 1 of 2", "repetition 2 of 2",
etc.
Can be set to , resulting in
names such as LONG_DISPLAY_NAME"myRepeatedTest() :: repetition 1 of 2",
"myRepeatedTest() :: repetition 2 of 2", etc.
Alternatively, you can provide a custom display name, optionally using the aforementioned placeholders.
SHORT_DISPLAY_NAME,
LONG_DISPLAY_NAME,
DISPLAY_NAME_PLACEHOLDER,
CURRENT_REPETITION_PLACEHOLDER,
TOTAL_REPETITIONS_PLACEHOLDER,
TestInfo.getDisplayName()