当kafka参与微服务架构时,如何实施合同测试?

siv*_*mar 12 java jvm apache-kafka microservices pact

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

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

小智 16

协议-JVM支持消息条约,其中封装通过一些机构所消耗的消息(单程),通常是消息队列.这样做是为了测试该消费者代码可以经由消费者测试使用该消息,然后验证该提供商生成一个适当的消息.测试中未使用实际的消息队列.

通过消息队列进行合同

这最初是为了对通过Kafka消息队列进行通信的微服务进行合同测试而开发的.

测试分为两部分,就像Request-Response Pact测试一样,但Consumer在消费者协定测试期间读取消息,如果成功,则写入pact文件.然后调用提供程序代码以生成消息,并将其与pact文件中的内容进行比较.

在此输入图像描述

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