(三)利用@DataProvider传递参数
2024-09-01 12:21:44
具体实现如下:
@DataProvider(name="couponListData")
public Object[][] couponListData(){
//自己定义Object[][]值
List<ListManage> couponManageList = ExcelUtil.simpleRead(AdminFileName.CouponManagePath, ListManage.class);
Object[][] o = new Object[couponManageList.size()][];
for(int i=0; i<couponManageList.size();i++){
JSONObject jsonObject = new JSONObject(true);
Object[] objects = new Object[3];
jsonObject.put("condition",couponManageList.get(i).getCondition());//code:券码编号,name:券码名字,customer_name:采购用户
jsonObject.put("content",couponManageList.get(i).getContent());
jsonObject.put("current_page",couponManageList.get(i).getCurrentPage());
jsonObject.put("page_size",couponManageList.get(i).getPageSize());
objects[0] = couponManageList.get(i).getCode();
objects[1] = couponManageList.get(i).getAccountInformation();
objects[2] = jsonObject;
o[i] = objects; }
return o;
} @Test(dataProvider = "couponListData")
public void couponList(String code,String accountInformation,JSONObject data) throws Exception{ }
不同类的用法:
数据驱动类DataProviderDemo .java
package com.yck.demo.data; import org.testng.annotations.DataProvider; import com.yck.demo.entity.TestDataVo;
import com.yck.demo.utils.MybatisUtil; public class DataProviderDemo { @DataProvider(name = "providerName")
public TestDataVo[][] demo() {
String statement = "mapper.TestDataMapper.getdataByCaseName";
TestDataVo vo1 = MybatisUtil.excuteSelect(statement, "1");
TestDataVo vo2 = MybatisUtil.excuteSelect(statement, "2");
TestDataVo vo3 = MybatisUtil.excuteSelect(statement, "3");
TestDataVo[][] dataVo = {{vo1},{vo2},{vo3}};
return dataVo; } }
测试用例类:
package com.yck.demo.testcase; import java.io.IOException;
import java.io.InputStream; import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test; import com.yck.demo.entity.TestDataVo; public class DemoTestCase { @Test(dataProvider= "providerName",dataProviderClass= com.yck.demo.data.DataProviderDemo.class)
public void test(TestDataVo vo) {
System.out.println(vo.getActual());
}
}
最新文章
- mysql NOW,CURRENT_TIMESTAMP,SYSDATE 之间的区别
- js常用
- WKWebView使用及注意点
- c++ 读取txt文件并输出到控制台
- 解决POI读取Excel如何判断行是不是为空
- poj 2104 K-th Number(主席树 视频)
- Linux软件安装方法小结(附:rpm详解)(转载)
- Java-在线聊天系统-非线程
- spring事物的传播行为
- 转载Sql 获取数据库所有表及其字段名称,类型,长度
- linux中文设置
- 读书笔记 SQL 事务理解
- 在WIN SERVER 2016上安装DOCKER(带过坑)
- HTML 笔记 基础1
- [Android App]IFCTT,即:If Copy Then That,是一个基于IFTTT的";This";实现
- JAVA进阶10
- OSG 改变窗口大小
- 无需AutoCAD,用C#生成DWG文件
- eclipse使用maven打包时去掉测试类
- 判断变量是否为 NaN
热门文章
- C语言经典笔试题目
- 带你学够浪:Go语言基础系列 - 8分钟学基础语法
- JavaScript的基础语法及DOM元素和事件
- Maven——pom.xml文件报错:Missing artifact:jar包
- 掌握了Docker Layer Caching才敢自称精通Dockerfile
- python爬取页面内容
- [JavaWeb基础] 009.Struts2 上传文件
- This的关键字的使用
- Rocket - debug - TLDebugModuleInner - ABSTRACTAUTO
- Rocket - debug - Custom