junit参数化之ValueSource --- @ParameterizedTest @valueSource @CsvSource @CsvFileSource

  • 参数化关键字@ParameterizedTest 代替@Test
    • 参数化的Value来源可以是@valueSource,其中定义数据列表的类型如下:
参数	参数的类型
shorts	short
bytes	byte
ints	int
longs	long
floats	float
doubles	double
chars	char
booleans	boolean
strings	java.lang.String
classes	java.lang.Class
  • 代码Example
    @ParameterizedTest
    @ValueSource(strings = {"张三", "李四", "王五"})
    public void valueSourceFunctionTest(String name) {
        myFunction(name);
    }
  • 参数化的Value来源可以是@csvSource,delimiterString定义分隔符:
    @ParameterizedTest
    @CsvSource(value = {"赫敏-11","哈利-11","罗恩-10"},delimiterString = "-")
    public void csvSourceFunctionTest(String name,int age) {
        myFunction1(name,age);
    }
  • 参数化的Value来源可以是@csvFileSource,delimiterString定义分隔符,默认值就是逗号:
    @ParameterizedTest
    @CsvFileSource(resources = "/parameterized.csv",delimiterString = ",")
    public void csvFileSourceFunctionTest(String name,Integer age) {
        myFunction1(name,age);
    }