JUnit: переместить основанный на событиях / длительный тест в фоновый режим - PullRequest
0 голосов
/ 03 июля 2019

У меня есть система событий, которую я хочу протестировать с помощью интеграционных тестов.Обычно это работает довольно хорошо: я что-то делаю и получаю событие.

В прошлом у нас были некоторые проблемы с событиями, которые прибыли поздно.Это делает длительность теста непредсказуемой длинной - но все еще в порядке.

Но иногда я хочу проверить, что событие не наступает.В этом сценарии я вижу только способ выполнить действие и затем подождать как минимум 30 секунд - ограничение по времени, которого обычно достаточно для поступления событий.

Метод получениясобытия запускаются асинхронно с использованием Future.

Теперь я думаю, что вопрос ясен: как реализовать такой сценарий теста, не блокируя весь набор тестов на 30 секунд.Я вижу следующие варианты:

  • Использовать распараллеливание Junit.На самом деле, я уже делаю это, но слишком большое распараллеливание увеличивает вероятность того, что время одного теста истекло.
  • Возможно ли завершить метод теста, оставив Future открытым, и изменить статус теста с задержкой изнутриэто будущее?Whis позволит Junit разрешить еще один тест в фоновом режиме и подождать некоторое дополнительное время (возможно, даже минуту)

Не имеет значения, Junit 4 или 5

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