首先利用@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. LR运行负载测试场景-笔记

    控制虚拟用户的行为:通用如图方式 查看用户的运行信息 在控制器释放前释放集合点用户 记录运行时注释---scenario-execution notes Vuser 对话框:初始化.运行.停止运行用户 ...

  2. Lodop导出图片和打印机无关,测试是否有关

    Lodop导出的图片,既可以在预览界面另存为,也可以用语句导出.语句导出,可查看本博客的相关博文:Lodop导出图片,导出单页内容的图片 预览的时候,由于选择的打印机不同,而真实的打印机可能有不同的可 ...

  3. Jetson TX1 install py-faster-rcnn

    Install py-faster-rcnn following the official version  https://github.com/rbgirshick/py-faster-rcnn ...

  4. UNIX口令破解机

    在编写我们的UNIX口令破解机时,我们需要使用UNIX 计算口令hash 的crypt()算法.Python 标准库中已自带有crypt 库.要计算一个加密的UNIX 口令hash,只需调用函数cry ...

  5. springMVC整理02--常用注解的使用

    1.使用@RequestMapping  映射请求 1.1在类和方法上添加@RequestMappingSpringMVC 使用@RequestMapping 为控制器指定可以处理哪些 URL 请求. ...

  6. Modelsim脚本仿真文件分析

    Do文件的实质是tcl脚本,本质上是ascii文件.所以扩展名可以任意的,不一定叫xx.do,也可以叫xx.tcl,甚至叫成你的名字也没有关系.看自己喜好,一般取do,不过我喜欢取成tcl,用代码编辑 ...

  7. 安装PHP 类库PEAR

    PHP扩展与应用库常识 当php项目里没有pear时: 单独安装解决方案 下载下面连接的文件至go-pear.phar.http://pear.php.net/go-pear.phar该文件最好放到P ...

  8. opencv图像融合(大头)

    单纯的变大再覆盖上去,头部检测信息不够全,效果实在是太差,就不多说了,只是按照自己的思路玩一玩,没有达到抖音上那么好的效果 import cv2 as cv import numpy as np im ...

  9. MongoDB 数据恢复与导出

    MongoDB登录mongo --host localhost --port 27017 -uroot -pdbpasswd --authenticationDatabase admin查看所有dbs ...

  10. 【CF526G】Spiders Evil Plan(贪心)

    [CF526G]Spiders Evil Plan(贪心) 题面 洛谷 CodeForces 给定一棵树,要求选择\(y\)条链,满足被链覆盖的所有点在树上联通,且\(x\)必定在联通块中. 对于每次 ...