@Dataprovider注解

@Dataprovider注解

数据提供者是指用@Dataprovider标注的方法。这个annotation只有一个字符串属性:name(它的名称)。若没有提供name,则数据提供者的名称就默认采用方法的名称;

数据提供者返回一些java对象,这些对象将作为参数传递给被@Test标注的方法,从哪个数据提供者中获取参数是通过@Test annotation的dataprovider属性中指定。

数据提供者的目的

1.向测试方法传递任意数目的参数

2.根据需要,允许利用不同的参数集合对它的测试方法进行多次调用

//测试类

package testNG3;

import org.testng.annotations.BeforeTest;

import org.testng.annotations.DataProvider;

import org.testng.annotations.Test;

/**

* @Description: @Dataprovider注解的基本使用

* @Date: Created in 下午4:58 2018/11/5

*/

public class DataProviderTest {

@BeforeTest

public void beforeTest() {

System.out.println("-----测试方法执行结果----");

}

@Test(dataProvider = "range-provider")

public void testIsBoolean(int n, int lower, int upper, boolean expected) {

System.out.println(n + "--" + lower + "--" + upper + "--" + expected);

}

@DataProvider(name = "range-provider")

public Object[][] rangeData() {

int lower = 5;

int upper = 10;

return new Object[][]{

{lower - 1, lower, upper, false},

{lower, lower, upper, true},

{lower + 1, lower, upper, true},

{upper, lower, upper, true},

{upper + 1, lower, upper, false},

};

}

}

-----测试方法执行结果----

4--5--10--false

5--5--10--true

6--5--10--true

10--5--10--true

11--5--10--false

数据提供者返回一个二维的对象数组,每一行都对应一次测试方法的调用。

代码地址:https://gitee.com/neimenggudaxue/BasicTest

相关手记

多网站平台暗藏代孕服务 专家:或将催生新型人口贩卖
骁龙625与821处理器哪个更好
MATLAB中如何输入特殊符号