0

我正在尝试与数据提供者并行执行 testng 测试。Data Provider 的每一个输入都会是一个新的测试。
对于并行执行,我已将属性并行添加到数据提供者和 threadPoolSize 以进行测试。我在 eclipse 运行配置中传递命令行参数 -parallel methods -dataproviderthreadcount 2
下面是到目前为止尝试的代码片段

  public class DemoTest { 

  @Test(dataProvider = "dp",invocationCount=1,threadPoolSize=2)
  public void f(Integer n, String s) {
  System.out.println("id:"+Thread.currentThread().getId()+" n:"+n+" s:"+s);
  }

@BeforeMethod
public void beforeMethod() {
 }

 @AfterMethod
 public void afterMethod() {
 }


 @DataProvider(parallel=true)
 public Object[][] dp() {
return new Object[][] {
  new Object[] { 1, "a" },
  new Object[] { 2, "b" },
  new Object[] { 3, "c" },
  new Object[] { 4, "d" },
  new Object[] { 5, "e" },
  new Object[] { 6, "f" },
  new Object[] { 7, "g" },
  new Object[] { 8, "h" },
  new Object[] { 9, "i" },
  new Object[] { 10,"j" }
  };
 }
}    

输出:
id:10 n:1 s:a
id:14 n:5 s:e
id:17 n:8 s:h
id:13 n:4 s:d
id:11 n:2 s:b
id:15 n:6 s:f
id:12 n:3 s:c
id:19 n:10 s:j
id:18 n:9 s:i
id:16 n:7 s:g

为每个输入创建一个新线程,但我只想创建 2 个线程。

4

0 回答 0