zoukankan      html  css  js  c++  java
  • testNG中dataprovider使用的两种方式

    testNG的参数化测试有两种方式:xml和dataprovider.个人更喜欢dataprovider,因为我喜欢把测试数据放在数据库里。

    一.返回类型是Iterator<Object[]>,不用管有多少组测试数据,可以抽取出来以map的id为参数作为公用的提取数据方法。

    @DataProvider(name="loginData")
    private Iterator<Object[]> LoginDataProvider() throws IOException {
    List<Object[]> result=new ArrayList<Object[]>();
    SqlSession session=DatabaseUtil.getSqlSession();
    List<Object> alldata=session.selectList("loginTestAll");
    Iterator it=alldata.iterator();
    while(it.hasNext()){
    result.add(new Object[] { it.next() });
    }
    return result.iterator();
    
    }

    二.返回类型是Object[][],明确知道有几组测试数据

    @DataProvider(name="loginData")
    
    private Object[][] LoginDataProvider() throws IOException {
    Object[][] result=null;
    SqlSession session=DatabaseUtil.getSqlSession();
    result=new Object[][]{{session.selectOne("loginTest",1)},{session.selectOne("loginTest",2)}};
    return result;
    }

    测试调用

    @Test(groups="login",dataProvider = "loginData")
    
    public void loginTestCase(LoginTest loginTest) throws IOException {
    //用测试数据发起请求,获取响应
    String response=getResult(loginTest);
    
    //响应断言
    JSONObject rj=new JSONObject(response);
    String code=rj.getInt("code")+"";
    Assert.assertEquals(code,loginTest.getExpected());
    
    }
    

    来源:CSDN
    原文:https://blog.csdn.net/wangjie0925/article/details/80653935

  • 相关阅读:
    少年中国说--正能量传播
    刚刚加入程序员的行列,希望通过博客的形式记录自己在这个领域的点点滴滴。同时分享自己的心得体会。
    java中的路径问题(getResourceAsStream/tomcat/maven/getContextpath)等各种路径问题
    java的jdbc
    maven的插件
    maven的仓库
    java9新特性
    java8新特性
    java的网络编程
    java的多线程juc
  • 原文地址:https://www.cnblogs.com/AryaZ/p/9840372.html
Copyright © 2011-2022 走看看