Annotation Interface EnumSource


@Target({ANNOTATION_TYPE,METHOD,TYPE}) @Retention(RUNTIME) @Documented @Inherited @Repeatable(EnumSources.class) @API(status=STABLE, since="5.7") @ArgumentsSource(org.junit.jupiter.params.provider.EnumArgumentsProvider.class) public @interface EnumSource
@EnumSource is a repeatable ArgumentsSource for constants of an Enum.

The enum constants will be provided as arguments to the annotated @ParameterizedClass or @ParameterizedTest.

The enum type can be specified explicitly using the value() attribute. Otherwise, the declared type of the first parameter of the @ParameterizedClass or @ParameterizedTest is used.

The set of enum constants can be restricted via the names(), from(), to() and mode() attributes.

Inheritance

This annotation is inherited to subclasses.

Since:
5.0
See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static enum 
    Enumeration of modes for selecting enum constants by name.
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    The starting enum constant of the range to be included.
    The enum constant selection mode.
    The names of enum constants to provide, or regular expressions to select the names of enum constants to provide.
    The ending enum constant of the range to be included.
    Class<? extends Enum<?>>
    The enum type that serves as the source of the enum constants.