我有一个问题,我不确定原因是什么。升级到 Spring Boot 3.2 后,我的应用程序未能通过 kafka 测试。 我正在使用:
spring-cloud-starter-contract-verifier
有关。mavenBom "org.springframework.cloud:spring-cloud-dependencies:2023.0.0
。id "org.springframework.boot" version "3.2.0"
id "io.spring.dependency-management" version "1.1.4"
似乎不再有
MessageVerifierReceiver
实现之前处理那些合同测试的org.springframework.cloud.contract.verifier.messaging.kafka.KafkaStubMessages
。现在它解析并使用 bean: org.springframework.cloud.contract.verifier.messaging.integration.SpringIntegrationStubMessages
,因此它尝试解析具有主题名称的 bean,当然失败了。你们知道要检查什么吗?我应该去哪里看看可能出了什么问题?也许缺少一些依赖项,以前不需要,但他们现在删除了该实现,需要添加它?有人知道这件事吗? @MarcinGrzejszczak
已在提交中删除:fa51d6a076be8c5dc620ea6e226ad6c87dc2c0ac 也许是误会?
答案就在迁移指南中,但我错过了。这里是: https://github.com/spring-cloud/spring-cloud-contract/wiki/Spring-Cloud-Contract-4.0-Migration-Guide#removing-support-for-mocked-amqp-oob-amqp-and-oob -卡夫卡
迁移路径 之前:
您正在使用存根 AMQP 或 Kafka Stub Runner 功能。
之后:
您需要为测试设置代理(例如通过 Testcontainers) 您需要设置 MesssageVerifierSender(消费者)或 > MessageVerifierReceiver(生产者)bean,您将在其中定义您如何 > 实际发送和接收消息