Nav*_*nak 4 java testng testng-dataprovider
我需要将 10 多个参数传递给 TestNG Dataprovider,代码看起来像这样......
@Test (dataProvider = "Dataprovider1")
public void testScenario1(String data1, String data2,
String data3, String data4,
String data5 //...
) throws Exception {
System.out.println(data1+"---------------- "+data2+" --------------- "+data3+" .. so on");
}
Run Code Online (Sandbox Code Playgroud)
谁能告诉我,如果我们需要使用 传递超过 10 个参数,我们应该遵循什么方法@DataProvider?还有其他方法来声明测试方法的参数吗?
如果您有相同类型的参数,那么您可以在方法参数中作为数组传递。
@Test (dataProvider = "Dataprovider1")
public void testScenario1(String args [])
) throws Exception {
System.out.println(args[0]+"---------------- "+args[1]+" --------------- "+args[3]+" .. so on");
}
Run Code Online (Sandbox Code Playgroud)
此外,如果您有不同类型的参数字段,那么您可以在辅助类的帮助下对其进行处理,然后在参数中传递此类的引用。例如:
class Helper {
String data1;
String data2;
String data3;
Long data4;
int data5;
flot data6;
-----so on------
----getter setter and constructor----
}
Run Code Online (Sandbox Code Playgroud)
你的测试班
class Test {
@DataProvider(name="Dataprovider1")
public static Object[][] testData() {
return new Object[][] {
{ new Helper("hey", "you", "guys" ..... another constructor parameters..) } }
};
}
@Test (dataProvider = "Dataprovider1")
public void testScenario1(Helper helper) throws Exception {
System.out.println(helper.data1+"---------------- "+helper.data2+" --------------- "+helper.data3+" .. so on");
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14320 次 |
| 最近记录: |