首页 » 排名链接 » 软件测试学习笔记丨Junit5参数化用例(参数注解测试数据指定)

软件测试学习笔记丨Junit5参数化用例(参数注解测试数据指定)

admin 2024-11-02 23:40:32 0

扫一扫用手机浏览

文章目录 [+]
小编

本文转自测试人社区,原文链接:jck28-lucio-1- junit5参数化用例(一) - 学习笔记 - 测试人社区

JUnit5 参数化在测试流程相同,测试数据需要根据业务需求切换。
JUnit5的参数化支持多种形式数据来源。
参数化环境配置

pom 引入

org.junit.jupiterjunit-jupiter-params5.8.1testJUnit5 简单参数化 @ValueSource参数化用例的时候使用的注解由 @Test 换成 @ParameterizedTest单参数化注解 @ValueSource注意: 如果 @Test 和 @ParameterizedTest 同时使用则会多执行一次@ValueSource 支持的参数类型

软件测试学习笔记丨Junit5参数化用例(参数注解测试数据指定) 排名链接
(图片来自网络侵删)
@ValueSource示例

public class ParamDemoTest { // @ParameterizedTest 注解指明为参数化测试用例 @ ParameterizedTest // @ValueSource 单参数注解,示例中为String类型参数化 @ ValueSource(strings = {“ 张三”, “李四”, “王五” }) void testParam(String name) { assertEquals(name.length(), 2); }}单参数的问题与解决方案问题: 很多场景并不会只有一个参数需要进行参数化的验证。
解决方案:使用多参数的参数化方式。
JUnit5 多参数的参数化 @CsvSource多参数参数化注解 @CsvSource。
@CsvSource 通过指定的分隔符实现参数化。

public class CsvParamDemoTest { // @ParameterizedTest 注解指明为参数化测试用例 @ ParameterizedTest // @CsvSource 注解指定数据源为 csv 数据,csv默认分隔符为 , @ CsvSource({“ 张三, 3”, “李四, 15”, “王五, 8” }) void testParamCsv1(String name, Integer age) { assertEquals(name.length(), 2); assertTrue(age > 2); } // @ParameterizedTest 注解指明为参数化测试用例 @ ParameterizedTest // @CsvSource 注解指定数据源为 csv 数据,delimiterString 指定数据的分割符 @ CsvSource(value = {“ 张三 | 3”, “李四 | 15”, “王五 | 8” }, delimiterString = “ | ”) void testParamCsv2(String name, Integer age) { assertEquals(name.length(), 2); assertTrue(age > 2); }}JUnit5 CsvFile的参数化 @CsvFileSource多参数文件参数化注解 @CsvFileSource在项目的 test/resources 中新增测试数据 csv 文件@CsvFileSource 支持指定的分隔符进行参数化多参数化注解 @CsvFileSource 示例新建数据文件data.csv使用 , 分隔的data2.csv使用 | 分隔的

复制代码张三,3李四,15王五,8张三|3李四|15王五|8多参数化注解 @CsvFileSource 示例从csv文件中读取数据信息。
读取数据文件使用 , 分隔的读取数据文件使用 | 分隔的

public class CsvFileParamDemoTest { // @ParameterizedTest 注解指明为参数化测试用例 @ ParameterizedTest // @CsvFileSource 注解指定数据源为 csv 数据,csv默认分隔符为 , @ CsvFileSource(resources = “/data.csv”) void testParamCsvFile(String name, Integer age) { assertEquals(name.length(), 2); assertTrue(age > 2); } // @ParameterizedTest 注解指明为参数化测试用例 @ ParameterizedTest // @CsvFileSource 注解指定数据源为 csv 数据,delimiterString 指定数据的分割符 @ CsvFileSource(resources = "/data1.csv", delimiterString = "|") void testParamCsvFile2(String name, Integer age) { assertEquals(name.length(), 2); assertTrue(age > 2); } }软件测试开发免费视频教程分享 - 公众号 - 测试人社区

标签:

相关文章