Java 当kafka参与微服务架构时,如何实现契约测试?

Java 当kafka参与微服务架构时,如何实现契约测试?,java,jvm,apache-kafka,microservices,pact,Java,Jvm,Apache Kafka,Microservices,Pact,我目前正在从事一个项目,在该项目中,我们在微服务体系结构中实现了kafka。您是否成功地使用pact jvm为mS-to-kafka主题交互创建了契约测试用例 我的实现是microservice1,它将消息发布到REST客户端,然后REST客户端将消息发布到Kafka Topic。microservice2使用GET方法从Kafka主题检索消息。Pact JVM支持消息包,它封装通过某种机制(通常是消息队列)使用的消息(单向)。其思想是测试使用者代码是否可以通过使用者测试使用消息,然后验证提供者

我目前正在从事一个项目,在该项目中,我们在微服务体系结构中实现了kafka。您是否成功地使用pact jvm为mS-to-kafka主题交互创建了契约测试用例


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

Pact JVM支持消息包,它封装通过某种机制(通常是消息队列)使用的消息(单向)。其思想是测试使用者代码是否可以通过使用者测试使用消息,然后验证提供者是否生成了适当的消息。测试中未使用实际消息队列

它最初是为了对通过Kafka消息队列进行通信的微服务应用契约测试而开发的

测试分两部分进行,就像请求-响应契约测试一样,不同之处在于使用者在使用者契约测试期间读取消息,如果成功,则写入一个契约文件。然后调用提供者代码生成一条消息,并将其与pact文件中的内容进行比较

Pact JVM文件的相关章节包括:


谢谢@ronald holshausen您还可以指出合同生成的消费者JVM部分吗?当然,这里有一个JUnit测试的链接: