多参数的参数化@CsvSource

多参数参数化注解 @CsvSource。

@CsvSource 通过指定的分隔符实现参数化。

复制代码
package com.mytest;

import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;

public class CsvParamDemoTest {

    @ParameterizedTest
    //注解指定数据源为 csv 数据,csv默认分隔符为 ,
    @CsvSource({"张三,3", "李四,15", "王五,8"})
    void testParamCsv1(String name, Integer age) {
        assertEquals(name.length(),2);
        assertTrue(age > 2);
    }

    @ParameterizedTest
    //注解指定数据源为 csv 数据,delimiterString 指定数据的分割符
    @CsvSource(value = {"张三|3", "李四|15", "王五|8"}, delimiterString = "|")
    void testParamCsv2(String name, Integer age) {
        assertEquals(name.length(), 2);
        assertTrue(age > 2);
    }
}
复制代码

 


 

  • 多参数文件参数化注解 @CsvFileSource
  • 在项目的 test/resources 中新增测试数据 csv 文件
  • @CsvFileSource 支持指定的分隔符进行参数化

新建2个数据文件

data.csv使用 , 分隔:

张一三,3
李四,15
王五,8

data2.csv使用 | 分隔

张一三|3
李四|15
王五|8

 

从csv文件中读取数据信息。

读取数据文件使用 , 分隔

读取数据文件使用 | 分隔

复制代码
package com.mytest;

import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvFileSource;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;

public class CsvFileParamDemoTest {

    @ParameterizedTest
    // @CsvFileSource 注解指定数据源为 csv 数据,csv默认分隔符为 ,
    @CsvFileSource(resources = "/data.csv")
    void testParamCsvFile(String name, Integer age) {
        assertEquals(name.length(), 2);
        assertTrue(age > 2);
    }

    @ParameterizedTest
    // @CsvFileSource 注解指定数据源为 csv 数据,delimiterString 指定数据的分割符
    @CsvFileSource(resources = "/data2.csv", delimiterString = "|")
    void testParamCsvFile2(String name, Integer age) {
        assertEquals(name.length(), 2);
        assertTrue(age > 2);
    }
}
复制代码

 

posted @   iTao0128  阅读(492)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示