同一数据提供者的不同excel表

时间:2010-08-18 04:27:35

标签: testng dataprovider

是否可以为testng中共享相同数据提供者的不同测试方法使用不同的Excel工作表

2 个答案:

答案 0 :(得分:1)

当然,让您的数据提供者阅读所有Excel电子表格,将它们组合成一个Object [] []并返回该对象。

答案 1 :(得分:1)

如果带有@DataProvider注释的方法接受java.lang.reflect.Method作为它的第一个参数,TestNG将传递当前正在执行的测试方法作为参数。例如

@Test(dataprovider="dp1")
public void test1(String str){
//test here
}

@DataProvider(name="dp1")
public Object [][](Method testName){
// testName will be the calling method
// testName.getName(); == "test1"
return new Object[][]{new Object[]{"Cedric"}};
}

使用此方法,您可以为每个测试方法创建工作表,并将其命名为方法名称。然后,您的数据提供者可以查找您的工作表,并返回所需的参数。