Такой интеграционный тест вызывает API с уникальными данными и затем ограниченно ждёт соответствующее событие в Kafka, проверяя ключ, контракт и связь с запросом.
Были ли тесты, которые вызывают API-ручку, а потом проверяют наличие сообщения в Kafka?
Такой интеграционный тест вызывает API с уникальными данными и затем ограниченно ждёт соответствующее событие в Kafka, проверяя ключ, контракт и связь с запросом.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Такой интеграционный тест вызывает API с уникальными данными и затем ограниченно ждёт соответствующее событие в Kafka, проверяя ключ, контракт и связь с запросом.
Тестовый consumer должен быть изолирован от рабочей группы и готов к чтению до действия, иначе событие можно пропустить. Используйте correlation ID, а не первое попавшееся сообщение. Проверяйте подтверждённый ответ API и содержимое события, но учитывайте договорённость об асинхронности. Отдельно тестируют сбой публикации и повтор запроса. Наличие сообщения подтверждает лишь часть цепочки; результат обработки downstream consumer требует собственной проверки.