如何理解TestNG参数化
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,本篇内容介绍了"如何理解TestNG参数化"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一组参数化数
千家信息网最后更新 2025年11月07日如何理解TestNG参数化
本篇内容介绍了"如何理解TestNG参数化"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
一组参数化数据
定义参数化数据,代码如下:
@DataProvider public Object[][] dp1() { return new Object[][] { new Object[] { 1, 1,0 }, new Object[] { 2, 1,1 }, new Object[] { 2, 1,2 }, }; }用例中使用参数化数据(dp1定义的),代码如下:
@Test(dataProvider = "dp1") public void f1(Integer n1, Integer n2, Integer n3) { Integer result=n2+n3; assertEquals(n1,result); }多组参数化数据
在一个测试类中,可以定义多组参数化数据(参数化数据个数不同,dp1三个,dp2二个),代码如下:
@DataProvider public Object[][] dp2() { return new Object[][] { new Object[] { 1, 1}, new Object[] { 2, 1}, new Object[] { 2, 1}, }; }用例中使用参数化数据(dp2定义的),代码如下:
@Test(dataProvider = "dp2") public void f2(Integer n1, Integer n2) { assertEquals(n1,n2); }测试方法通过DataProvider引用
我们可以自定义一些方法,对外部文件进行读取,然后把读取的数据作为参数在TestNG中引用,具体方法如下:
写一个读取各类文件的方法(txt、excel、db)具体代码就不给出了,但是一定注意方法的返回值必须是Object[][](关于操控excel的知识会在后面的文章中介绍)
public Object[][] readfile(String p_file){ return new Object[][] {{ 1, 1},{ 1, 2}}; }在@DataProvider修饰的方法中调用该方法(也可以直接实现)
@DataProvider(name = "dp_func") public Object[][] testData(Method testMethod) { return readfile(""); }用例中使用参数化数据(dp_func),代码如下:
@Test(dataProvider = "dp_func") public void f3(Integer n1, Integer n2) { assertEquals(n1,n2); }完整代码
import org.testng.annotations.DataProvider; import org.testng.annotations.Test; import static org.testng.Assert.assertEquals; import java.lang.reflect.Method; public class NewTest { @DataProvider public Object[][] dp1() { return new Object[][] { new Object[] { 1, 1,0 }, new Object[] { 2, 1,1 }, new Object[] { 2, 1,2 }, }; } @DataProvider public Object[][] dp2() { return new Object[][] { new Object[] { 1, 1}, new Object[] { 2, 1}, new Object[] { 2, 1}, }; } @DataProvider(name = "dp_func") public Object[][] testData(Method testMethod) { return readfile(""); } //读取各类文件,返回值是Object[][] public Object[][] readfile(String p_file){ return new Object[][] {{ 1, 1},{ 1, 2}}; } @Test(dataProvider = "dp1") public void f1(Integer n1, Integer n2, Integer n3) { Integer result=n2+n3; assertEquals(n1,result); } @Test(dataProvider = "dp2") public void f2(Integer n1, Integer n2) { assertEquals(n1,n2); } @Test(dataProvider = "dp_func") public void f3(Integer n1, Integer n2) { assertEquals(n1,n2); } }运行测试用例,可以看到用例成功地进行了参数化,f1执行了3次,f2执行了3次,f3执行了2次,如下图所示:

"如何理解TestNG参数化"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
参数
数据
代码
方法
文件
知识
测试
内容
文章
更多
不同
实用
成功
学有所成
接下来
三个
个数
困境
实际
对外部
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库审计系统 纯软件
用服务器怎么搭建微信小程序
江苏警官学院网络安全处
龙岗区软件开发培训班
长春大连同方软件开发有限公司
软件开发bug表情包
数据库的数据字典
关于网络安全手抄报图片四年级
网络安全6月10日
查询vpn服务器
越秀服务器运维服务有哪些
广东盈创网络技术有限公司
怎么查看和修改数据库的维护计划
互联网网络安全案例ppt
游戏高防服务器哪家好
大连橙心网络技术有限公司
数据库漫画入门教程
免费的国外代理服务器
中国人看足球的数据库
下载文件显示服务器繁忙
租用香港的云服务器
计算机服务器的品牌有哪些品牌
美国100g高防服务器
网络安全与防护 课件
北仑网络安全宣传
软件开发的创新在哪儿
部队网络安全保密引言
软件开发课程 教学目标
html中刷新保存数据库
耐特康赛网络技术 怎么样