前言
逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)
@CsvSource
支持 csv 的参数数据直接写在代码里面,下面的案例有 4 组数据,每组数据根据参数的顺序映射到方法的参数中。
4 组数据也意味着下面的方法会执行 4 次。
1 2 3 4 5 6 7 8 9 10 11 12
| @ParameterizedTest(name = "{0} + {1} = {2}") @CsvSource({ "0, 1, 1", "1, 2, 3", "49, 51, 100", "1, 100, 101" }) void add(int first, int second, int expectedResult) { Calculator calculator = new Calculator(); assertEquals(expectedResult, calculator.add(first, second), () -> first + " + " + second + " should equal " + expectedResult); }
|
@CsvFileSource
支持从文本中读入 csv 格式的文件,进行参数化测试。
1 2 3 4 5 6
| @ParameterizedTest @CsvFileSource(resources = "/data/two-column.csv", numLinesToSkip = 1) void testWithCsvFileSource(String country, int reference) { assertNotNull(country); assertNotEquals(0, reference); }
|