1

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

4

2 回答 2

1

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

于 2010-08-18T05:46:27.367 回答
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"}};
}

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

于 2010-09-08T19:20:28.707 回答