TestNG数据提供程序并行参数不在代码注释中

时间:2016-03-24 07:58:59

标签: testng testng-dataprovider

我有一个使用数据提供程序运行多个参数的TestNG测试方法:

@DataProvider()
public Object[][] scenarios() {...}

@Test(dataProvider = "scenarios")
public void check(...) {...}

有时候我想并行运行check测试,有时候不是。我可以通过将代码注释设置为@DataProvider(parallel = true)@DataProvider(parallel = false)来控制,但我想将其作为运行时参数,而不是代码中的设置。

如何设置数据提供程序是作为命令行参数还是TestNG套件XML文件中的属性生成多个线程?

2 个答案:

答案 0 :(得分:2)

Annotation Transformers就是你要找的。 使用它们,您将能够根据您自己的业务规则修改parallel的值(例如:env var)。

答案 1 :(得分:0)

您可以尝试将ITestContext传递给数据提供者,例如来自测试的小组(' singleTest'或' parallelTest')。在数据提供者中,只返回singleTest组的一个对象,它就足够了。