Annotation Type EnumSource


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

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

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

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

Since:
5.0
See Also:
ArgumentsSource, ParameterizedTest
  • Nested Class Summary

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

    Optional Elements
    Modifier and Type Optional Element Description
    EnumSource.Mode mode
    The enum constant selection mode.
    java.lang.String[] names
    The names of enum constants to provide, or regular expressions to select the names of enum constants to provide.
    java.lang.Class<? extends java.lang.Enum<?>> value
    The enum type that serves as the source of the enum constants.
  • Element Details

    • value

      java.lang.Class<? extends java.lang.Enum<?>> value
      The enum type that serves as the source of the enum constants.

      If this attribute is not set explicitly, the declared type of the first parameter of the @ParameterizedTest method is used.

      See Also:
      names(), mode()
      Default:
      org.junit.jupiter.params.provider.NullEnum.class
    • names

      java.lang.String[] names
      The names of enum constants to provide, or regular expressions to select the names of enum constants to provide.

      If no names or regular expressions are specified, all enum constants declared in the specified enum type will be provided.

      The mode() determines how the names are interpreted.

      See Also:
      value(), mode()
      Default:
      {}
    • mode

      The enum constant selection mode.

      Defaults to INCLUDE.

      See Also:
      EnumSource.Mode.INCLUDE, EnumSource.Mode.EXCLUDE, EnumSource.Mode.MATCH_ALL, EnumSource.Mode.MATCH_ANY, names()
      Default:
      INCLUDE