单元测试——使用@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

最后开始测试就行

测试结果

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值