【问题标题】:How to test(Integration tests) springboot-kafka microservices如何测试(集成测试)springboot-kafka 微服务
【发布时间】:2019-11-02 10:49:36
【问题描述】:

我有如图所示的 Spring-boot Kafka pub sub microservices。我想为我的每个应用程序进行集成测试。

UseCase1: SpringBoot-App-c 其中consumesTopic X处理它和producesTopic Y

UseCase2: SpringBoot-App-b 只是从Topic X 消费并处理它

预期: 在我的测试中,我想向Topic X(用于Springboot-app-c)发布一条消息,该消息应该由Spring-Boot-App-C处理并生成到Topic Y,我想要确认该特定消息是否针对主题 Y 生成。

缺点:当我向主题 X 发送消息时,该消息是针对 Springboot-app-cSpringboot-app-c, springboot-app-b and spring-boot-app-d 的。当我尝试测试一个应用程序时,它在不知不觉中测试了三个应用程序,我希望对其进行更多控制。我希望测试消息仅由spring-boot-app-c 接收。如何使其特定于应用程序并单独测试每个应用程序

  • 如何知道某事已发布到主题 Y
  • 如何让主题 X 中只有一个且正确的消费者用于该特定应用的测试消息

【问题讨论】:

    标签: apache-kafka spring-kafka


    【解决方案1】:

    如何知道某事已发布到主题 Y

    将消费者添加到主题 Y 的测试中,以验证您收到了预期的数据。

    如何让主题 X 中只有一个正确的消费者用于该特定应用的测试消息

    你不能; Kafka 中没有用于条件路由或消息选择的机制。所有消费者组都会获得该消息的副本。

    您必须使用单独的主题。

    【讨论】:

      猜你喜欢
      • 2016-01-25
      • 1970-01-01
      • 2017-10-04
      • 2019-08-25
      • 2015-06-24
      • 1970-01-01
      • 2020-03-08
      • 2017-07-10
      • 1970-01-01
      相关资源
      最近更新 更多