Annotation Type CsvFileSource
@Target({ANNOTATION_TYPE,METHOD}) @Retention(RUNTIME) @Documented @API(status=STABLE, since="5.7") @ArgumentsSource(org.junit.jupiter.params.provider.CsvFileArgumentsProvider.class) public @interface CsvFileSource
@CsvFileSource
is an ArgumentsSource
which is used to load
comma-separated value (CSV) files from one or more classpath resources
or files()
.
The lines of these CSV files will be provided as arguments to the
annotated @ParameterizedTest
method. Any line beginning with a
#
symbol will be interpreted as a comment and will be ignored.
- Since:
- 5.0
- See Also:
CsvSource
,ArgumentsSource
,ParameterizedTest
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description char
delimiter
The column delimiter character to use when reading the CSV files.String
delimiterString
The column delimiter string to use when reading the CSV files.String
emptyValue
The empty value to use when reading the CSV files.String
encoding
The encoding to use when reading the CSV files; must be a valid charset.String[]
files
The CSV files to use as the sources of arguments; must not be empty unlessresources()
is non-empty.boolean
ignoreLeadingAndTrailingWhitespace
Identifies whether leading and trailing whitespace characters of unquoted CSV columns should be ignored.String
lineSeparator
The line separator to use when reading the CSV files; must consist of 1 or 2 characters.int
maxCharsPerColumn
The maximum characters of per CSV column allowed.String[]
nullValues
A list of strings that should be interpreted asnull
references.int
numLinesToSkip
The number of lines to skip when reading the CSV files.String[]
resources
The CSV classpath resources to use as the sources of arguments; must not be empty unlessfiles()
is non-empty.
-
Element Details
-
resources
String[] resourcesThe CSV classpath resources to use as the sources of arguments; must not be empty unlessfiles()
is non-empty.- Default:
- {}
-
files
String[] filesThe CSV files to use as the sources of arguments; must not be empty unlessresources()
is non-empty.- Default:
- {}
-
encoding
String encodingThe encoding to use when reading the CSV files; must be a valid charset.Defaults to
"UTF-8"
.- See Also:
StandardCharsets
- Default:
- "UTF-8"
-
lineSeparator
String lineSeparatorThe line separator to use when reading the CSV files; must consist of 1 or 2 characters.Defaults to
"\n"
.- Default:
- "\n"
-
delimiter
char delimiterThe column delimiter character to use when reading the CSV files.This is an alternative to
delimiterString()
and cannot be used in conjunction withdelimiterString()
.Defaults implicitly to
','
, if neither delimiter attribute is explicitly set.- Default:
- '\u0000'
-
delimiterString
String delimiterStringThe column delimiter string to use when reading the CSV files.This is an alternative to
delimiter()
and cannot be used in conjunction withdelimiter()
.Defaults implicitly to
","
, if neither delimiter attribute is explicitly set.- Since:
- 5.6
- Default:
- ""
-
numLinesToSkip
int numLinesToSkipThe number of lines to skip when reading the CSV files.Typically used to skip header lines.
Defaults to
0
.- Since:
- 5.1
- Default:
- 0
-
emptyValue
String emptyValueThe empty value to use when reading the CSV files.This value replaces quoted empty strings read from the input.
Defaults to
""
.- Since:
- 5.5
- Default:
- ""
-
nullValues
String[] nullValuesA list of strings that should be interpreted asnull
references.For example, you may wish for certain values such as
"N/A"
or"NIL"
to be converted tonull
references.Please note that unquoted empty values will always be converted to
null
references regardless of the value of thisnullValues
attribute; whereas, a quoted empty string will be treated as anemptyValue()
.Defaults to
{}
.- Since:
- 5.6
- Default:
- {}
-
maxCharsPerColumn
The maximum characters of per CSV column allowed.Must be a positive number.
Defaults to
4096
.- Since:
- 5.7
- Default:
- 4096
-
ignoreLeadingAndTrailingWhitespace
Identifies whether leading and trailing whitespace characters of unquoted CSV columns should be ignored.Defaults to
true
.- Since:
- 5.8
- Default:
- true
-