我有一个从数据提供者接收数据的测试。我希望此测试与来自 data provider 的不同值并行运行。
我尝试了一种方法:
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 个。您能否告诉我们必须向上面的代码片段添加什么来控制数据提供程序线程池的大小。
原文由 sujith 发布,翻译遵循 CC BY-SA 4.0 许可协议
您需要使用
dataproviderthreadcount
。threadpoolsize
和invocationcount
值。 在此处 查看详细信息。