@DataProvider ITestContext 参数

 package roger.testng;

 import java.util.Random;

 import org.testng.ITestContext;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test; /*
* 数据提供者在方法签名中声明了一个 ITestContext 类型的参数
* testng 会将当前的测试上下文设置给它
*
*/
public class TestDataProviderITestContext {
@DataProvider
public Object[][] randomIntegers(ITestContext context) {
String[] groups= context.getIncludedGroups();
int size = 2;
for (String group : groups) {
System.out.println("--------------" + group);
if (group.equals("function-test")) {
size = 10;
break;
}
} Object[][] result = new Object[size][];
Random r = new Random();
for (int i = 0; i < size; i++) {
result[i] = new Object[] {new Integer(r.nextInt())};
} return result;
} // 如果在 unite-test 组中执行, 将返回2个随机整数构成数组;
// 如果在 function-test 组中执行, 将返回 10 个随机整数构成数组
@Test(dataProvider = "randomIntegers", groups = {"unit-test", "function-test"})
public void random(Integer n) {
System.out.println(n);
} }

通过 testng.xml 指定运行 unite-test 组还是 function-test 组。

上一篇:SqlServer循环读取配置


下一篇:【Android】无限滚动的HorizontalScrollView