TestNg 9. 参数化测试-DataProvider参数化
首先利用@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参数化的更多相关文章
- TestNG @Factory与 @DataProvider 结合使用进行参数化测试
简介 TestNG是一个设计用来简化广泛的测试需求的测试框架,从单元测试到集成测试,这个是TestNG设计的出发点,不仅仅是单元测试,而且可以用于集成测试.设计目标的不同,对比junit的只适合用于单 ...
- testng入门教程10 TestNG参数化测试
在TestNG的另一个有趣的功能是参数测试.在大多数情况下,你会遇到这样一个场景,业务逻辑需要一个巨大的不同数量的测试.参数测试,允许开发人员运行同样的测试,一遍又一遍使用不同的值. TestNG让你 ...
- Junit4参数化测试实现程序与用例数据分离
http://touchfu.iteye.com/blog/732930 现状:你是不是还在为自己的TestCase代码杂乱无章而苦恼,咎其根本还在于针对不同的用例,输入参数和mock信息的组装全部作 ...
- Google C++单元测试框架GoogleTest---值参数化测试
值参数化测试允许您使用不同的参数测试代码,而无需编写同一测试的多个副本. 假设您为代码编写测试,然后意识到您的代码受到布尔参数的影响. TEST(MyCodeTest, TestFoo) { // A ...
- JMeter学习-026-JMeter 分布式(远程)参数化测试实例
以前文所述对文章详情的HTTP请求进行性能测试为例.日常实际场景中,不可能所有的人都在同时访问一篇文章,而是多人访问不同的文章,因而需要对文章编号进行参数化,以更好的模拟日常的性能测试场景.同时,因文 ...
- 同时使用Junit4的@Parameterized参数化测试和Spring容器
转载:http://www.jianshu.com/p/d191fe54915f 整合Spring容器 @SpringApplicationConfiguration(classes = Applic ...
- MSTest不支持参数化测试的解决方案
之前的项目中做单元测试一直用的是NUnit,这次做新项目,负责人要求统一用MsTest,理由是MsTest是Visual Studio内置的.用就用吧,我没什么意见.不过用了两天,我就发现一个大问题: ...
- 用JUnit4进行参数化测试
参数化测试是一个JUnit 3不具备的功能. 基本使用方法 @RunWith 当类被@RunWith注解修饰,或者类继承了一个被该注解修饰的类,JUnit将会使用这个注解所指明的运行器(runner) ...
- junit参数化测试的使用方法
JUnit参数化测试的五个步骤:(1)为准备使用参数化测试的测试类指定特殊的运行器 org.junit.runners.Parameterized.(2)为测试类声明几个变量,分别用于存放期望值和测试 ...
随机推荐
- python3文字转语音
#安装库(必须先安装pywin32) pip3 install pyttsx3 简单测试 import pyttsx3 engine = pyttsx3.init() text='name' engi ...
- ssl证书部署问题
问:我现在得到的ssl证书是.crt和.key两个在nginx环境下部署的证书,如果我们改用是tomcat,现在把这两个文件合成了.jks给tomcat使用,合成的时候输入的jks密码是不是就是部署在 ...
- python设计模式第十天【观察者模式】
1.应用场景 (1)监听事件驱动程序中的外部事件 (2)监听某个对象的状态变化 (3)发布-订阅模型中,消息出现时通知邮件列表中的订阅者 2. 观察者模式UML图 3. 代码实现: #!/usr/bi ...
- ABP 番外篇-菜单
public class LearningMpaAbpNavigationProvider : NavigationProvider { public override void SetNavigat ...
- JavaScript 使用 toJSON 方法格式化日期
toJSON 方法可以将 Date 对象转换为 ISO-8601 标准的字符串:YYYY-MM-DDTHH:mm:ss. sssZ var date = new Date(); // toJSON() ...
- JarvisOJ Basic 熟悉的声音
两种元素,还有声音,想到了莫尔斯电码,解码得到 jbluwewnz 提交,发现不对,觉得应该是有实际意义的东西,实在想不到还能怎么解,就去看了题解. 发现这个还可以再套一个凯撒密码,就拿python写 ...
- ☆ [HDU2157] How many ways?? 「矩阵乘法求路径方案数」
传送门:>Here< 题意:给出一张有向图,问从点A到点B恰好经过k个点(包括终点)的路径方案数 解题思路 一道矩阵乘法的好题!妙哉~ 话说把矩阵乘法放在图上好神奇,那么跟矩阵唯一有关的就 ...
- Collect devices information
Collect devices information root@vpx-test# kenv > kenv.txt root@vpx-test# sysctl -a > sysctl_a ...
- pytorch解决鸢尾花分类
半年前用numpy写了个鸢尾花分类200行..每一步计算都是手写的 python构建bp神经网络_鸢尾花分类 现在用pytorch简单写一遍,pytorch语法解释请看上一篇pytorch搭建简单网 ...
- 爬虫_淘宝(selenium)
总体来说代码还不是太完美 实现了js渲染网页的解析的一种思路 主要是这个下拉操作,不能一下拉到底,数据是在中间加载进来的, 具体过程都有写注释 from selenium import webdriv ...