0

Data Provider と並行して testng テストを実行しようとしています。Data Provider の各入力は、新しいテストになります。
並列実行のために、属性 parallel をデータ プロバイダーに追加し、threadPoolSize を Test に追加しました。私は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