Annotation Type EnumSource


  • @Target({ANNOTATION_TYPE,METHOD})
    @Retention(RUNTIME)
    @Documented
    @API(status=STABLE,
         since="5.7")
    @ArgumentsSource(EnumArgumentsProvider.class)
    public @interface EnumSource
    @EnumSource is an ArgumentsSource for constants of 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
    • 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 Detail

      • 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:
        {}