web-dev-qa-db-ja.com

TestNGは複数のスレッドを使用してテストメソッドをどのように呼び出しますか?

TestNGのドキュメントには、複数のスレッドを使用してテストメソッドを呼び出すようにTestNGに指示する方法を説明するセクションがあります。

@Testメソッドを異なるスレッドから呼び出すように指定することもできます。属性threadPoolSizeを使用して、次の結果を得ることができます。

@Test(threadPoolSize = 3, invocationCount = 10,  timeOut = 10000)
public void testServer() {

この例では、関数testServerは3つの異なるスレッドから10回呼び出されます。emphasis mine

私の質問は、上記のテキストがそれを意味するかどうかです

  1. このメソッドは、3つのスレッドまたはを使用して合計10回実行されます。
  2. メソッドは合計30回実行され、3つのスレッドがそれぞれ10回メソッドを実行します。

私の考えでは、呼び出しカウントはメソッドに関連付けられているため、1が正しい解釈ですが、間違っている場合は修正していただければ幸いです。

20
Feanor

はい、1が正解です。

補足として、この仮説を検証するための簡単なテストケースを作成する方が、質問を作成するよりもおそらく高速でした:-)

25
Cedric Beust

@Test(threadPoolSize = 3、invocationCount = 10、timeOut = 10000)を使用します。これは、複数のスレッドで非同期テストを実行します。

あなたは見てもよい: http://www.asjava.com/testng/testng-tutorial-time-test-with-annotation-timeout/

2
chris