Question

In the TestNG documentation, there is a section describing how to tell TestNG to invoke test methods using multiple threads:

You can also specify that a @Test method should be invoked from different threads. You can use the attribute threadPoolSize to achieve this result:

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

In this example, the function testServer will be invoked ten times from three different threads. (emphasis mine)

My question is whether the text above means that

  1. the method will be run a total of 10 times using 3 threads or
  2. the method will be run a total of 30 times, with 3 threads running the method 10 times each.

My thought is that because the invocation count is associated with the method, 1 is the correct interpretation, but I would appreciate being corrected if I'm wrong.

Was it helpful?

Solution

Yes, 1 is the correct answer.

As a side note, writing a quick test case to verify this hypothesis would probably have been faster than writing up the question :-)

OTHER TIPS

Use @Test(threadPoolSize = 3, invocationCount = 10, timeOut = 10000) , which run asynchronous tests in multiple threads.

you may take a look: http://www.asjava.com/testng/testng-tutorial-time-test-with-annotation-timeout/

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top