我们在写单元测试的时候,往往会一个测试用例,多条测试数据来覆盖各种情况,遇到这种情况我们会怎么做呢
一开始可能会想到多写几遍测试用例,更改数据,一次性执行(遇到条件多的就完了)
或者执行一次测试,改一次数据,多次执行测试(遇到单次执行时间长的,只能慢慢等了)
显然上面两种都不是好方法,这时候我们就想到把数据存起来,依次执行
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
本站由北京市万商天勤律师事务所王兴未律师提供法律服务