您好,欢迎来到伴沃教育。
搜索
您的当前位置:首页单元测试——使用@ParameterizedTest和@CsvFileSource执行csv文件批量运行测试数据

单元测试——使用@ParameterizedTest和@CsvFileSource执行csv文件批量运行测试数据

来源:伴沃教育

单元测试——使用@ParameterizedTest和@CsvFileSource执行csv文件批量运行测试数据

我们在写单元测试的时候,往往会一个测试用例,多条测试数据来覆盖各种情况,遇到这种情况我们会怎么做呢

一开始可能会想到多写几遍测试用例,更改数据,一次性执行(遇到条件多的就完了)

或者执行一次测试,改一次数据,多次执行测试(遇到单次执行时间长的,只能慢慢等了)

显然上面两种都不是好方法,这时候我们就想到把数据存起来,依次执行

Junit给我们提供两个注解@ParameterizedTest和@CsvFileSource,两个注解一起用就可以操作csv文件,话不多说,上代码

先导一个依赖

<dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-params</artifactId>
      <version>5.5.2</version>
      <scope>test</scope>
</dependency>

然后写一个测试

@ParameterizedTest
// resources:指定csv文件的位置
// numLinesToSkip:指定从第n行开始执行
@CsvFileSource(resources = "/two-column.csv", numLinesToSkip = 1)
void testWithCsvFileSource(String first, int second) {
    assertNotNull(first);
    assertNotEquals(0, second);
}

创建csv文件

Country, reference
Sweden, 1
Poland, 2
"United States of America", 3

最后开始测试就行

测试结果

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- bangwoyixia.com 版权所有 湘ICP备2023022004号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务