可以使用TestNG DataProvider AND测试套件参数吗?

Ben*_*Lee 12 testng data-driven-tests

有没有人知道是否有办法在使用@Parameter注释的同时将TestNG DataProvider与测试一起使用?我们的测试套件具有一些常量配置信息,这些信息通过@Parameter注释传递给测试方法.我们现在想使用DataProvider在一组数据值上运行这些测试.

我理解确定结果参数的顺序的内部问题,但如果可能的话我们需要这个功能.

有什么想法吗?

在一个理想的世界里,我可以这样做:

@Test(dataprovider = "dataLoader")
@Parameters("suiteParam")
public void testMethod(String suiteParam, String fromDataParam) {
...
}
Run Code Online (Sandbox Code Playgroud)

mR_*_*r0g 9

嘿,它可能有点笨重,但为什么不使用@BeforeClass方法将suiteParam本地存储在测试类的字段上,如此.

private String suiteParam;

@BeforeClass
@Parameter("suiteParam")
public void init(String suiteParam) {
  this.suiteParam = suiteParam;
}
Run Code Online (Sandbox Code Playgroud)

这样,您可以按常规方式使用数据提供程序,并仍可访问套件参数.