java - TestNG 与 DataProvider 并行执行

标签 java multithreading testng 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 }

  };
}

我收到的输出是:

你好:10

你好:12

你好:17

你好:11

你好:16

你好:14

你好:13

你好:15

产生了 10 个线程,而我在线程池大小中指定了 5 个线程。 您能否告诉我们必须向上面的代码片段添加什么来控制数据提供程序线程池的大小。

最佳答案

您需要使用dataproviderthreadcountthreadpoolsizeinvocationcount 值不是必需的。查看详情 here .

关于java - TestNG 与 DataProvider 并行执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58698878/

相关文章:

java - hibernate join fetch和二级缓存

android - 处理程序 vs AsyncTask vs 线程

c - 算法-使用外部编解码器/调制解调器处理抖动和漂移

java - TestNG 数据提供程序中的 NumberFormatException

java - 如果特定场景出现在 webdriver 中,如何运行它

java - 如何使用带有 "select"关键字的 MySql 存储过程迭代 ResultSet?

java - Spring Boot REST Controller 仅与尾随 "/"匹配

java - XML 中的 TestNG 值集

java - 在使用 apache http 客户端发送请求之前修改请求 URI

vb.net - 线程异常: The number of WaitHandles must be less than or equal to 64