首先利用@DataProvider(name = "XXX")的属性,将name的值XXX 传递给 @Test(dataProvider = "XXX")

看以下一段代码:

package com.course.testng.parameter;

import org.testng.annotations.DataProvider;
import org.testng.annotations.Test; import java.lang.reflect.Method; public class DataProviderTest { @Test(dataProvider = "data")
public void testDataProvider(String name,int age){
System.out.println("name = " + name + ",age = " + age); } @DataProvider(name = "data")
public Object[][] providerData(){
Object[][] o = new Object[][]{
{"zhangsan",10},
{"lisi",20},
{"wangwu",30}
}; return o;
} @Test(dataProvider = "methodData")
public void test1(String name,int age){
System.out.println("test1: name = " + name + ",age = " + age);
} @Test(dataProvider = "methodData")
public void test2(String name,int age){
System.out.println("test2: name = " + name + ",age = " + age);
} @DataProvider(name = "methodData")
public Object[][] methodDataTest(Method method){
Object[][] result = null;
     //method.getName().equals("方法名字,和方法名字匹配传值")
if (method.getName().equals("test1")){
result = new Object[][]{
{"zhangsan",20},
{"lisi",25}};
}else if(method.getName().equals("test2")){
result = new Object[][]{
{"wangwu",50},
{"zhaoliu",60}
};
}
return result;
} } 结果:

test1: name = zhangsan,age = 20
test1: name = lisi,age = 25
test2: name = wangwu,age = 50
test2: name = zhaoliu,age = 60
name = zhangsan,age = 10
name = lisi,age = 20
name = wangwu,age = 30

===============================================
Default Suite
Total tests run: 7, Failures: 0, Skips: 0
===============================================

Process finished with exit code 0

 

TestNg 9. 参数化测试-DataProvider参数化的更多相关文章

  1. TestNG @Factory与 @DataProvider 结合使用进行参数化测试

    简介 TestNG是一个设计用来简化广泛的测试需求的测试框架,从单元测试到集成测试,这个是TestNG设计的出发点,不仅仅是单元测试,而且可以用于集成测试.设计目标的不同,对比junit的只适合用于单 ...

  2. testng入门教程10 TestNG参数化测试

    在TestNG的另一个有趣的功能是参数测试.在大多数情况下,你会遇到这样一个场景,业务逻辑需要一个巨大的不同数量的测试.参数测试,允许开发人员运行同样的测试,一遍又一遍使用不同的值. TestNG让你 ...

  3. Junit4参数化测试实现程序与用例数据分离

    http://touchfu.iteye.com/blog/732930 现状:你是不是还在为自己的TestCase代码杂乱无章而苦恼,咎其根本还在于针对不同的用例,输入参数和mock信息的组装全部作 ...

  4. Google C++单元测试框架GoogleTest---值参数化测试

    值参数化测试允许您使用不同的参数测试代码,而无需编写同一测试的多个副本. 假设您为代码编写测试,然后意识到您的代码受到布尔参数的影响. TEST(MyCodeTest, TestFoo) { // A ...

  5. JMeter学习-026-JMeter 分布式(远程)参数化测试实例

    以前文所述对文章详情的HTTP请求进行性能测试为例.日常实际场景中,不可能所有的人都在同时访问一篇文章,而是多人访问不同的文章,因而需要对文章编号进行参数化,以更好的模拟日常的性能测试场景.同时,因文 ...

  6. 同时使用Junit4的@Parameterized参数化测试和Spring容器

    转载:http://www.jianshu.com/p/d191fe54915f 整合Spring容器 @SpringApplicationConfiguration(classes = Applic ...

  7. MSTest不支持参数化测试的解决方案

    之前的项目中做单元测试一直用的是NUnit,这次做新项目,负责人要求统一用MsTest,理由是MsTest是Visual Studio内置的.用就用吧,我没什么意见.不过用了两天,我就发现一个大问题: ...

  8. 用JUnit4进行参数化测试

    参数化测试是一个JUnit 3不具备的功能. 基本使用方法 @RunWith 当类被@RunWith注解修饰,或者类继承了一个被该注解修饰的类,JUnit将会使用这个注解所指明的运行器(runner) ...

  9. junit参数化测试的使用方法

    JUnit参数化测试的五个步骤:(1)为准备使用参数化测试的测试类指定特殊的运行器 org.junit.runners.Parameterized.(2)为测试类声明几个变量,分别用于存放期望值和测试 ...

随机推荐

  1. adoquery怎样判断数据在缓存中有修改啊

    ADOQry.Filtered:=false;       ADOQry.Filtered:=true;       ADOQry.FilterGroup:=fgPendingRecords ;Fil ...

  2. MySQL 大数据量分页优化

    假设有一个千万量级的表,取1到10条数据: ,; ,; 这两条语句查询时间应该在毫秒级完成: ,; 你可能没想到,这条语句执行之间在5s左右: 为什么相差这么大? 可能mysql并没有你想的那么智能, ...

  3. excel 公式 insert 语句

    ="insert into tb_fdn_deviceaccount (zdmc,czmc,sbbh,sbmc,SZCS,SBFLMC,SBLXMC,SBGG,SBYZ,SBJZ,SBXH, ...

  4. Web API2 使用默认Identity

    当您选择个人账户在Web API项目模板,项目包含一个令牌授权服务器验证用户凭证和问题.下面的图显示了相同的凭证流的Web API组件. 发送一个未经授权的请求 首先,运行应用程序并单击按钮调用的AP ...

  5. 关于读取mapper的两种方式

    第一种: 第二种:

  6. CF343D Water Tree

    题目链接 题目翻译(摘自洛谷) 疯狂科学家Mike培养了一颗有根树,由n个节点组成.每个节点是一个要么装满水要么为空的贮水容器. 树的节点用1~n编号,其中根节点为1.对于每个节点的容器,其子节点的容 ...

  7. Civil 3D 二次开发 创建AutoCAD对象—— 01 —— 创建直线

    在方法CreateLine内完成以下代码: 01 public void CreateLine() 02 { 03 PromptPointOptions ppo = new PromptPointOp ...

  8. python列表解析式,字典解析式,集合解析式和生成器

    一.列表解析式(列表推倒式): 功能:是提供一种方便的列表创建方法,所以,列表解析式返回的是一个列表. 1 lst = [1, 3, 5, 8, 10] 2 ll = [x+x for x in ls ...

  9. 【XSY2718】gift 分数规划 网络流

    题目描述 有\(n\)个物品,买第\(i\)个物品要花费\(a_i\)元.还有\(m\)对关系:同时买\(p_i,q_i\)两个物品会获得\(b_i\)点收益. 设收益为\(B\),花费为\(A\), ...

  10. CODEFORCES掉RATING记 #5

    ​ 比赛:Codeforces Round #429 (Div. 2) ​ 时间:2017.8.1晚 这次感觉状态不好,就去打div2了 ​ A:有\(26\)种颜色的气球,每种的数量不一样,你要把这 ...