zoukankan      html  css  js  c++  java
  • (三)利用@DataProvider传递参数

    具体实现如下:

    @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());
    	}
    }
    

      

      

      

  • 相关阅读:
    [leetcode]49. Group Anagrams变位词归类
    [leetcode]40. Combination Sum II组合之和(每元素限用一次)
    [leetcode]39. Combination Sum组合之和
    [leetcode]35. Search Insert Position寻找插入位置
    [leetcode]28. Implement strStr()实现strStr()
    [leetcode]25. Reverse Nodes in k-Group每k个节点反转一下
    [leetcode]24. Swap Nodes in Pairs交换节点对
    SVG基础知识 Adobe Illustrator绘制SVG
    Java静态方法和实例方法 java中的数组作为形参传入
    SVG可伸缩的矢量图形
  • 原文地址:https://www.cnblogs.com/lvchengda/p/13044422.html
Copyright © 2011-2022 走看看