@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_NAME
public 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()