16、测试用例参数化
2018-04-19 15:35 软件测试汪 阅读(615) 评论(0) 编辑 收藏 举报- 通过 @Parameters 实现参数化
目录如下:
DataProviderTest.java 代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | package com.testng.cn; import org.testng.annotations.Parameters; import org.testng.annotations.Test; import static org.testng.Assert.assertEquals; public class DataProviderTest { @Test @Parameters ({ "add1" , "add2" , "result" }) public void testAdd1( int add1, int add2, int result){ assertEquals(add1+ add2, result); } } |
testng.xml配置文件如下:
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > <suite name="测试套件"> <test name="简单测试"> <parameter name="add1" value="3"/> <parameter name="add2" value="2"/> <parameter name="result" value="5"/> <classes> <class name="com.testng.cn.DataProviderTest" /> </classes> </test> </suite>
- <parameter.../> 定义测试数据
- name 定义数据的名字, 在测试用例中通过该名字来获取对应的 vlaue。
- o value 定义测试数据, 通过对应的 name 来获取该值。
运行结果如下:
- 通过 @DataProvider 实现参数化
DataProviderTest.java 代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | package com.testng.cn; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; import static org.testng.Assert.assertEquals; public class DataProviderTest { // 定义对象数组 @DataProvider (name = "add" ) public Object[][] Users() { return new Object[][] { { 3 , 2 , 5 }, { 2 , 2 , 4 }, { 3 , 3 , 6 }, }; } @Test (dataProvider= "add" ) public void testAdd2( int add1, int add2, int result){ assertEquals(add1+add2, result); } } |
@DataProvider 定义对象数组, 数组的名称为: add 。
在 testAdd2() 中通过 dataProvider="add" 调用定义的对象数组, 并通过参数获取相应的测试数据。
执行结果如下:
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】博客园携手 AI 驱动开发工具商 Chat2DB 推出联合终身会员
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个超经典 WinForm,WPF 卡死问题的终极反思
· ASP.NET Core - 日志记录系统(二)
· .NET 依赖注入中的 Captive Dependency
· .NET Core 对象分配(Alloc)底层原理浅谈
· 聊一聊 C#异步 任务延续的三种底层玩法
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(一):从.NET IoT入
· .NET 开发的分流抢票软件,不做广告、不收集隐私
· ASP.NET Core - 日志记录系统(二)
· 一个超经典 WinForm,WPF 卡死问题的终极反思
· 实现windows下简单的自动化窗口管理