我有两个@DataProviders:
@DataProvider(name = "smallNumbers")
@DataProvider(name = "bigNumbers")
pom.xml中的变量
<systemPropertyVariables>
<dataP>${dataProvider}</dataP>
</systemPropertyVariables>
访问参数:
String sizeNumbers = System.getProperty("dataP");
我的测试:
@Test(dataProvider=sizeNumbers)
测试方法中的dataProvider必须是: 一个恒定的表达 知道如何在@Test中传递变量(dataProvider =?
答案 0 :(得分:1)
你不能这样做。只能将dataprovider直接传递给方法。 为什么选择这种方式从dataprovider注入数据?展示更多关于代码架构的信息,因为它看起来很奇怪。
修改强>
你可以这样检查:
@DataProvider(name = "dp")
public static Object[][] dataInject(){
return new Object[][]{
{sizeNumbers}
};
}
内部&#34; dp&#34;你也可以为ex做一些验证。 &#34;的isNull&#34;等
然后在测试中
@Test(dataProvider = "dp", dataProviderClass = Xyz.class)
public void testFirst(String input){
//...
}