У меня есть простое приложение Spring Boot, которое читает из Kafka и пишет в Kafka. Я написал SpringBootTest
, используя EmbeddedKafka
для проверки всего этого.
Основная проблема: иногда тест не проходит, потому что тест отправляет сообщение Kafka слишком рано. Таким образом, сообщение уже записано в Kafka до того, как приложение Spring (или, если быть точным, его KafkaListener
) будет готово. Поскольку слушатель читает со смещения latest
(я не хочу изменять какие-либо настройки для моего теста - кроме bootstrap.servers), он не получит все сообщения в этом тесте.
Кто-нибудь знает, как я мог узнать в тесте, что KafkaListener
готов к приему сообщений?
Единственный способ, которым я мог думать, - это ждать, пока /health
не станет доступным, но я не знаю, могу ли я быть уверен, что это означает, что KafkaListener
будет готов вообще.
Любая помощь очень ценится!
С уважением.