@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 java.lang.String |
CURRENT_REPETITION_PLACEHOLDER
Placeholder for the current repetition count of a
@RepeatedTest
method: {currentRepetition} |
static java.lang.String |
DISPLAY_NAME_PLACEHOLDER
|
static java.lang.String |
LONG_DISPLAY_NAME
Long display name pattern for a repeated test: "{displayName} :: repetition {currentRepetition} of {totalRepetitions}"
|
static java.lang.String |
SHORT_DISPLAY_NAME
Short display name pattern for a repeated test: "repetition {currentRepetition} of {totalRepetitions}"
|
static java.lang.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.
|
| Modifier and Type | Optional Element and Description |
|---|---|
java.lang.String |
name
The display name for each repetition of the repeated test.
|
public static final java.lang.String CURRENT_REPETITION_PLACEHOLDER
@RepeatedTest
method: {currentRepetition}public static final java.lang.String TOTAL_REPETITIONS_PLACEHOLDER
@RepeatedTest
method: {totalRepetitions}public static final java.lang.String SHORT_DISPLAY_NAME
public static final java.lang.String LONG_DISPLAY_NAME
DISPLAY_NAME_PLACEHOLDER,
SHORT_DISPLAY_NAMEpublic abstract int value
public abstract java.lang.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()