如果每个测试使用自己的DataProvider,TestNG测试类会变得非常臃肿。无论如何从另一个Java类导入这些(即:已经声明了常量的那个)?我找不到任何现有的文档。
答案 0 :(得分:2)
您可以在另一个类(不在同一个具有测试方法的类中)中创建数据提供者,如下所示,并使用Test annotation中的dataProviderClass引用它
import org.testng.annotations.DataProvider;
public class DataProviderClass { //Data Provider class
@DataProvider(name = "data-provider")
public static Object[][] dataProviderMethod() {
return new Object[][] { { "1" }, { "2" } };
}
}
TestClass.java
import org.testng.annotations.Test;
public class TestClass {
@Test(dataProvider = "data-provider", dataProviderClass = DataProviderClass.class)
public void testMethod(String data) {
System.out.println("Data is: " + data);
}
}