Как тестировать (интеграционные тесты) микросервисы springboot-kafka - PullRequest
1 голос
/ 19 июня 2019

У меня есть подпрограммы Spring-boot Kafka pub sub, как показано на рисунке.Я хочу сделать интеграционные тесты для каждого из моих приложений.

enter image description here

UseCase1: SpringBoot-App-c , который consumes из Topic X и обработкаэто и produces до Topic Y.

UseCase2: SpringBoot-App-b просто потребляет от Topic X и обрабатывает его

Ожидается: В моем тесте я хочу опубликовать сообщение для Topic X (предназначено для Springboot-app-c), которое должно быть обработано Spring-Boot-App-C и выдаетна Topic Y и я хочу подтвердить, создано ли это конкретное сообщение для темы Y или нет.

Недостатки: , когда я создаю сообщение для темы X, предназначенное для Springboot-app-cвместе с Springboot-app-c, springboot-app-b and spring-boot-app-d выбирают его.Когда я пытался протестировать одно приложение, оно неосознанно тестирует три приложения, и я хочу получить больше контроля над ним.Я хочу, чтобы тестовое сообщение принималось только spring-boot-app-c.Как настроить его для конкретного приложения и протестировать каждое приложение отдельно

  • Как узнать, что что-то было опубликовано в теме Y
  • Как получить только одного и подходящего потребителя из темы X для тестасообщение для этого конкретного приложения

1 Ответ

2 голосов
/ 19 июня 2019

Как узнать, что что-то было опубликовано в теме Y

Добавить потребителя в тест по теме Y, чтобы убедиться, что вы получили ожидаемые данные.

Как получить только одного и нужного потребителя из темы X для тестового сообщения для этого конкретного приложения

Вы не можете;в Кафке нет механизма условной маршрутизации или выбора сообщений.Все группы потребителей получают копию сообщения.

Вам придется использовать отдельные темы.

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