Junit5中用Excel进行数据驱动
在上一篇博文《Junit5中实现参数化测试》中,我们提到过,Junit5能够使用CsvFileSource参数源来实现外部数据的引入并作为参数传递给测试方法。
但实际应用中我们经常使用excel文件来保存测试数据或进行数据驱动。
今天就介绍下如何通过junit5的参数化方法,来支持Excel文件的参数化
MethodSource
Junit5当中新增的ParameterizedTest注解,可以在对应的测试方法中携带参数,并且支持多种参数源,参见前文Junit5中实现参数化测试。
而其中的MethodResource方法可以自己定义一个参数实现方法
这里MethodSource所使用的参数方法有几个要求:
-
返回Stream<Arguments>参数流或集合类型的的参数集
-
静态引用
-
本身不携带参数
这就给我们自行扩展通过Excel数据驱动提供了入口。
如我们定义一个测试用例,使用参数化方法,通过MethodSource使用ExcelMethod参数方法传入参数。代码如:
@ParameterizedTest@MethodSource("ExcelMethod")public void qiucaoTest(String person, int age, float salary){
System.out.println(person + " " + age +" "+ salary);