kafka涉及微服务架构时如何实现契约测试?

How to implement contract testing when kafka is involved in microservice architecture?

我目前正在做一个项目,我们在微服务架构中实现了 kafka。您是否成功创建了 mS 到 kafka 主题交互的合同测试用例,请使用 pact-jvm?

我的实现是 microservice1 向 REST 客户端发布消息,REST 客户端又将消息发布到 Kafka 主题。 microservice2 使用 GET 方法从 Kafka 主题中检索消息。

Pact-JVM 支持 Message Pacts,它封装了通过某种机制(通常是消息队列)消费(单向)的消息。这个想法是测试消费者代码是否可以通过消费者测试来消费消息,然后验证提供者是否生成了适当的消息。测试中没有使用实际的消息队列

这最初是为了应用合同测试而开发的 micro-services 通过 Kafka 消息队列进行通信。

测试分两部分完成,就像Request-Response契约测试一样,除了消费者在消费者契约测试期间读取消息,如果成功则写入契约文件。然后调用提供者代码生成一条消息,并将其与契约文件中的内容进行比较。

Pact-JVM 文档的相关部分是: