3

4 つの @Test メソッドがあり、それぞれを 3 回実行したいと考えています。これを 12 スレッドで同時に実行したいと考えています。

このようなtestng.xmlファイルを作成しました

<suite name="Suite1" verbose="1" parallel="methods" thread-count="100">

  <test name="Test1">
    <classes>
      <class name="Tests"/>
    </classes>
  </test>

  <test name="Test2">
    <classes>
      <class name="Tests"/>
    </classes>
  </test>

  <test name="Test3">
    <classes>
      <class name="Tests"/>
    </classes>
  </test>

</suite>

parallel="methods" を設定すると、TestNG は Test1 に対して 4 つのスレッドで 4 つのテスト メソッドを実行し、その後、Test2 に対しても同じことを実行し、次に Test3 に対しても同じことを実行します。しかし、Test2 を実行する前に Test1 の完了を待ちたくありません。TestNG は、Test1、Test2、および Test3 を同時に実行できますが (parallel="tests" の場合)、この場合、各 Test に対して 4 つのテスト メソッドを順番に実行します。

TestNG にまったく待機せず、すべてのテストのすべてのメソッドを別々のスレッドで開始するように指示する方法はありますか?

4

3 に答える 3

1

スイートで並列テストを実行すると、各テストで並列メソッドを実行できます。何かのようなもの:

<suite name="Suite1" verbose="1" parallel="tests" thread-count="10">

  <test name="Test1" parallel="methods" thread-count="4">
    <classes>
      <class name="Tests"/>
    </classes>
  </test>

  <test name="Test2" parallel="methods" thread-count="4">
    <classes>
      <class name="Tests"/>
    </classes>
  </test>

  <test name="Test3" parallel="methods" thread-count="4">
    <classes>
      <class name="Tests"/>
    </classes>
  </test>

</suite>
于 2014-01-08T22:57:48.247 に答える
0

これを使用してみてください:

<suite name="suite"  parallel="methods"  thread-count="20">

お役に立てれば。

于 2016-02-17T16:07:14.307 に答える
0

これらが同じテストである場合は、invocationCount と threadpoolsize を使用できます。@Test アノテーションで、invocationCount=3 と threadPoolsize を 3 に追加します。testng.xml で、(3 ではなく) テストを 1 つだけ作成し、parallel=methods と thread-count=4 を設定します。

それが役に立てば幸い。

于 2014-01-09T17:54:55.427 に答える