Мое положение в целом: Я хочу выполнить параллельные тесты. Допустим, у меня есть 4 пары учетных данных и 32 теста, которые будут выполняться в 8 параллельных потоках (на уровне параллельных методов). Поэтому у меня стандартная ситуация с производителем-потребителем, но между параллельными испытаниями.TestNG проверяет синхронизацию на внешнем объекте
Моя идея состоит в том, чтобы иметь список объектов учетных данных (на которых я буду синхронизировать тестовые потоки в фазе «beforeMethod»). Первые 4 потока получат свои учетные данные и удаляют их из списка. Все остальные потоки будут видеть пустой список и ждать его.
Первый тест, который завершит выполнение, и добавит используемые учетные данные обратно в список на этапе «afterMethod» и вызовет уведомление в этом списке и т. Д. Но проблема в том, что у меня нет подходящего места, где я могу найти этот список учетных данных. + Я хочу использовать простой «тест mvn» для запуска этого процесса. Любые идеи, как я могу добавить такую синхронизацию? Если в TestNG есть аналогичная функциональность, расскажите.
Интересно. Было бы здорово видеть ваши попытки. –
Почему бы вам просто не ограничить количество потоков? Почему вы не можете заполнить эту учетную запись (список) в инициализаторе класса 'static'? –
@ Ярослав Ставничий Ваша идея помогает мне много. благодаря –