使用DataProvider进行TestNG并行执行

suj*_*ith 12 java testng multithreading dataprovider

我有一个测试从数据提供者接收数据.我希望此测试与数据提供程序中的不同值并行运行.

我尝试了一种方法:

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 }

  };
}
Run Code Online (Sandbox Code Playgroud)

}

我收到的输出是:

你好:10

你好:12

你好:17

你好:11

你好:16

你好:14

你好:13

你好:15

产生了10个线程,而我在线程池大小中指定了5个.您能否告诉我们要在上面的代码片段中添加哪些内容来控制数据提供程序线程池大小.

nih*_*neo 16

你需要使用dataproviderthreadcount.在threadpoolsizeinvocationcount不需要的值.详情请见此处.