Как увеличить время выполнения контекста приложения в тестах JUnit? - PullRequest
0 голосов
/ 27 июня 2019

У меня есть приложение, которое использует тему Kafka с помощью @KafkaListener, сохраняет некоторые данные на Redis и отправляет ответ на другую тему.Я должен построить интеграционные тесты на нем.Поэтому я должен отправить сообщение по теме 1, дождаться ответа в теме 2 и прочитать некоторые данные из Redis.

Запустить приложение напрямую и отправить некоторые сообщения Kafka через CLI было достаточно для успешной проверки того, что я хотел.Когда я попытался сделать то же самое с JUnit, я заметил, что приложение умерло до того, как его слушатель смог прочитать сообщения, вставленные в тестах.Использование точек останова было достаточно для достижения того же поведения.

Я пытался использовать Thread.sleep, но он не представил никаких изменений поведения, и я не знаю почему.Тест выполняется с тем же потоком приложения?Я также подумал о CountDownLatch, но, поскольку в моем приложении нет конструкторов с этим объектом, я не могу его изменить.

Как мне увеличить время контекста приложения до того, как тест завершится хотя бы достаточно долго, чтобы иметь некоторыеасинхронный метод называется?

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