Как TestNG вызывает метод тестирования с использованием нескольких потоков? - PullRequest
20 голосов
/ 02 ноября 2010

В документации TestNG есть раздел, описывающий, как сказать TestNG вызывать методы тестирования с использованием нескольких потоков:

Вы также можете указать, что метод @Test должен вызываться из разных потоков.Вы можете использовать атрибут threadPoolSize для достижения этого результата:

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

В этом примере функция testServer будет вызываться десять раз из трех разных потоков. ( emphasis mine )

Мой вопрос заключается в том, означает ли приведенный выше текст, что

  1. метод будет выполнен в общей сложности 10 раз с использованием 3 потоков или
  2. метод будет запущен в общей сложности 30 раз, при этом 3 потока будут запускать метод по 10 раз каждый.

Я думаю, что так как счетчик вызововсвязан с методом, 1 - правильная интерпретация, но я был бы признателен за исправление, если я ошибаюсь.

Ответы [ 2 ]

25 голосов
/ 02 ноября 2010

Да, правильный ответ - 1.

В качестве примечания, написание краткого теста для проверки этой гипотезы, вероятно, было бы быстрее, чем написание вопроса: -)

2 голосов
/ 07 ноября 2010

Используйте @Test (threadPoolSize = 3, invocationCount = 10, timeOut = 10000), которые запускают асинхронные тесты в нескольких потоках.

Вы можете посмотреть: http://www.asjava.com/testng/testng-tutorial-time-test-with-annotation-timeout/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...