Интеграционные тесты с Apache Kafka

На самом деле существует проект EmbeddedKafka, но мы пойдём другим путём. Представьте, что вы подключили kafka-maven-plugin, ну или каким-нибудь другим способом запускаете Kafka для интеграционных тестов.

Скорее всего, у вас возникнет проблема с тем, что сообщения из kafka могут не приходить или приходить с опозданием.

Такая проблема возникает из-за того, что когда вы внутри интеграционного теста в метода с пометкой @Before  подключаете Consumer к какому-нибудь топику Kafka, то это запускает процесс переназначения партиций и consumer-ов для подключения нового consumer-а. И новый consumer не будет считывать из очереди сообщения до окончания этого процесса, который, кстати, происходит асинхронно.

Для того чтобы дождаться окончания переназначения партиций и consumer-ов нужно использовать метод:

 


Поделиться:

Добавить комментарий

Ваш e-mail не будет опубликован.