testng查看覆盖率_测试工具之TestNG DataProvider的几种方法写法

本文将带你了解测试工具TestNG DataProvider的几种方法写法,希望本文对大家学测试工具有所帮助。

一、Method表示当前测试的方法

Dataprovidertest.java代码

package   com.tzf.testng;

import java.lang.reflect.Method;

import   org.testng.annotations.DataProvider;

import   org.testng.annotations.Test;

public class   DataProviderTest {

@DataProvider

public   Object[][] providerMethod(Method method){

Object[][]   result =   null;

if(method.getName().equals("testmethod1")){

result   = new Object[][]{new Object[]{1}};

}else   if(method.getName().equals("testmethod2")){

result   = new Object[][]{new   Object[]{2}};

}else{

result =   new Object[][]{new Object[]{3}};

}

return   result;

}

@Test(dataProvider="providerMethod")

public   void testmethod1(int param){

System.out.println("method1   received:"+param);

}

@Test(dataProvider="providerMethod")

public   void testmethod2(int   param){

System.out.println("method2   received:"+param);

}

@Test(dataProvider="providerMethod")

public   void testmethod3(int   param){

System.out.println("method3 received:"+param);

}

}

注意这里我的Dataprovider的name值没有指定,默认用的是方法名。   Testng.xml代码

运行结果代码

RemoteTestNG   starting

method1   received:1

method2 received:2

method3   received:3

RemoteTestNG finishing: 145   ms

二、ITestContent当前测试的上下文信息

Dataprovidertest2.java代码

package   com.tzf.testng;

import   java.util.Random;

import   org.testng.ITestContext;

import   org.testng.annotations.DataProvider;

import   org.testng.annotations.Test;

public class DataProviderTest2   {

@DataProvider

public   Object[][] providerMethod(ITestContext   context){

String[] groups =   context.getIncludedGroups();

int size = 2;

for(String   group :   groups){

if(group.equals("function-test")){

size   = 10   ;

break;

}

}

Object[][]   result = new Object[size][];

Random r = new   Random();

for(int   i=0;i

result[i] = new Object[]{new   Integer(r.nextInt())};

}

return   result;

}

@Test(dataProvider="providerMethod",groups={"function-test","unit-test"})

public   void testmethod1(Integer n){

System.out.println("method1   received:"+n);

}

}

Testng.xml代码

运行结果代码

RemoteTestNG   starting

method1   received:-1987654923

method1   received:338477914

method1   received:1910366338

method1   received:107205369

method1   received:-1018164959

method1   received:-2060129321

method1   received:-803464435

method1   received:-814156781

method1   received:-1075504680

method1   received:-774924512

RemoteTestNG finishing: 151   ms

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标软件测试之测试工具频道!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值