我有一个从数据提供者接收数据的测试。我希望此测试与来自数据提供者的不同值并行运行。
我试过这样的方法:
public class IndependentTest
{
@Test(dataProvider = "dp1" ,threadPoolSize=3,invocationCount=1)
public void testMethod(int number)
{
Long id = Thread.currentThread().getId();
System.out.println("HELLO : " + id);
}
@DataProvider(name = "dp1",parallel=true)
public Object[][] dp1() {
return new Object[][] {
new Object[] { 1 },
new Object[] { 2 },
new Object[] { 3 },
new Object[] { 4 },
new Object[] { 5 },
new Object[] { 6 },
new Object[] { 7 },
new Object[] { 8 }
};
}
我收到的输出是:
你好:10
你好:12
你好:17
你好:11
你好:16
你好:14
你好:13
你好:15
产生了 10 个线程,而我在线程池大小中指定了 5 个线程。 您能否告诉我们必须向上面的代码片段添加什么来控制数据提供程序线程池的大小。
最佳答案
您需要使用dataproviderthreadcount
。 threadpoolsize
和 invocationcount
值不是必需的。查看详情 here .
关于java - TestNG 与 DataProvider 并行执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58698878/