Annotation Type ParameterizedTest

    public @interface ParameterizedTest
    @ParameterizedTest is used to signal that the annotated method is a parameterized test method.

    Such methods must not be private or static.

    Argument Providers and Sources

    @ParameterizedTest methods must specify at least one ArgumentsProvider via @ArgumentsSource or a corresponding composed annotation (e.g., @ValueSource, @CsvSource, etc.). The provider is responsible for providing a Stream of Arguments that will be used to invoke the parameterized test method.

    Formal Parameter List

    A @ParameterizedTest method may declare additional parameters at the end of the method's parameter list to be resolved by other ParameterResolvers (e.g., TestInfo, TestReporter, etc). Specifically, a parameterized test method must declare formal parameters according to the following rules.

    1. Zero or more indexed arguments must be declared first.
    2. Zero or more aggregators must be declared next.
    3. Zero or more arguments supplied by other ParameterResolver implementations must be declared last.

    In this context, an indexed argument is an argument for a given index in the Arguments provided by an ArgumentsProvider that is passed as an argument to the parameterized method at the same index in the method's formal parameter list. An aggregator is any parameter of type ArgumentsAccessor or any parameter annotated with @AggregateWith.

    Argument Conversion

    Method parameters may be annotated with @ConvertWith or a corresponding composed annotation to specify an explicit ArgumentConverter. Otherwise, JUnit Jupiter will attempt to perform an implicit conversion to the target type automatically (see the User Guide for further details).

    Composed Annotations

    @ParameterizedTest may also be used as a meta-annotation in order to create a custom composed annotation that inherits the semantics of @ParameterizedTest.

    See Also:
    Arguments, ArgumentsProvider, ArgumentsSource, CsvFileSource, CsvSource, EnumSource, MethodSource, ValueSource, ArgumentsAccessor, AggregateWith, ArgumentConverter, ConvertWith
    • Field Summary

      Modifier and Type Fields Description
      Placeholder for the complete, comma-separated arguments list of the current invocation of a @ParameterizedTest method: {arguments}
      static String DEFAULT_DISPLAY_NAME
      Default display name pattern for the current invocation of a @ParameterizedTest method: "[{index}] {arguments}"
      Placeholder for the display name of a @ParameterizedTest method: {displayName}
      static String INDEX_PLACEHOLDER
      Placeholder for the current invocation index of a @ParameterizedTest method (1-based): {index}
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      String name
      The display name to be used for individual invocations of the parameterized test; never blank or consisting solely of whitespace.