多参数的参数化@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); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律