Как тестировать Kafka в автотесте?

Ответ

1) Поднять Kafka через Testcontainers (или EmbeddedKafka). 2) Отправить сообщение KafkaTemplate.send(topic, message). 3) Прочитать ответное через KafkaConsumer.poll(). 4) Проверить содержимое. Testcontainers поднимает реальный брокер и сам управляет портами.

Разбор: Корректный подход — поднять реальный брокер через Testcontainers (или EmbeddedKafka), отправить сообщение и вычитать его консьюмером, проверив содержимое. Ловушки: мок KafkaTemplate проверяет лишь факт вызова, но не сериализацию и реальную доставку; Testcontainers как раз отлично работает с Kafka и сам управляет портами; а H2 — это SQL-база и никак не эмулирует топики Kafka.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться