Annotation Type CsvSource


@Target({ANNOTATION_TYPE,METHOD})
@Retention(RUNTIME)
@Documented
@API(status=STABLE,
     since="5.7")
@ArgumentsSource(org.junit.jupiter.params.provider.CsvArgumentsProvider.class)
public @interface CsvSource
@CsvSource is an ArgumentsSource which reads comma-separated values (CSV) from one or more supplied CSV lines.

The column delimiter (defaults to comma) can be customized with either delimiter() or delimiterString().

The supplied values will be provided as arguments to the annotated @ParameterizedTest method.

Since:
5.0
See Also:
CsvFileSource, ArgumentsSource, ParameterizedTest
  • Required Element Summary

    Required Elements
    Modifier and Type Required Element Description
    String[] value
    The CSV lines to use as the source of arguments; must not be empty.
  • Optional Element Summary

    Optional Elements
    Modifier and Type Optional Element Description
    char delimiter
    The column delimiter character to use when reading the lines.
    String delimiterString
    The column delimiter string to use when reading the lines.
    String emptyValue
    The empty value to use when reading the lines.
    boolean ignoreLeadingAndTrailingWhitespace
    Identifies whether leading and trailing whitespace characters of unquoted CSV columns should be ignored.
    int maxCharsPerColumn
    The maximum characters of per CSV column allowed.
    String[] nullValues
    A list of strings that should be interpreted as null references.
  • Element Details

    • value

      String[] value
      The CSV lines to use as the source of arguments; must not be empty.

      Each value corresponds to a line in a CSV file and will be split using the specified delimiter() or delimiterString(). Any line beginning with a # symbol will be interpreted as a comment and will be ignored.

    • delimiter

      char delimiter
      The column delimiter character to use when reading the lines.

      This is an alternative to delimiterString() and cannot be used in conjunction with delimiterString().

      Defaults implicitly to ',', if neither delimiter attribute is explicitly set.

      Default:
      '\u0000'
    • delimiterString

      String delimiterString
      The column delimiter string to use when reading the lines.

      This is an alternative to delimiter() and cannot be used in conjunction with delimiter().

      Defaults implicitly to ",", if neither delimiter attribute is explicitly set.

      Since:
      5.6
      Default:
      ""
    • emptyValue

      String emptyValue
      The empty value to use when reading the lines.

      This value replaces quoted empty strings read from the input.

      Defaults to "".

      Since:
      5.5
      Default:
      ""
    • nullValues

      String[] nullValues
      A list of strings that should be interpreted as null references.

      For example, you may wish for certain values such as "N/A" or "NIL" to be converted to null references.

      Please note that unquoted empty values will always be converted to null references regardless of the value of this nullValues attribute; whereas, a quoted empty string will be treated as an emptyValue().

      Defaults to {}.

      Since:
      5.6
      Default:
      {}
    • maxCharsPerColumn

      @API(status=EXPERIMENTAL, since="5.7") int maxCharsPerColumn
      The maximum characters of per CSV column allowed.

      Must be a positive number.

      Defaults to 4096.

      Since:
      5.7
      Default:
      4096
    • ignoreLeadingAndTrailingWhitespace

      @API(status=EXPERIMENTAL, since="5.8") boolean ignoreLeadingAndTrailingWhitespace
      Identifies whether leading and trailing whitespace characters of unquoted CSV columns should be ignored.

      Defaults to true.

      Since:
      5.8
      Default:
      true