我有一个基于 Reactor 的 Spring Boot Kafka 流处理应用程序,我正在为其编写集成测试。我正在使用 Spring 的@EmbeddedKafka
代理。它工作得很好,我让它覆盖了在我的反应式处理器的消费者和发布者上配置的引导代理 url,但我还没有弄清楚如何在测试时为我的处理器处理模式注册表。我正在使用 ConfluentKafkaAvroSerializer
和KafkaAvroDeserializer
类,并且只schema.registry.url
在我的 Spring 应用程序配置中配置了该字段以注入到 Kafka 属性中。我正在使用 Confluent 的MockSchemaRegistryClient
对于测试生产者和消费者,但我需要一种将这个模拟客户端注入我的流处理器代码中的实际消费者和生产者的方法,但我认为没有办法做到这一点。几乎似乎我需要更像模式注册表的嵌入式版本来指向他们喜欢嵌入式代理。我们的构建管道不支持启动容器,否则我会使用 Docker 或 Testcontainers。其他人已经解决了这个问题吗?任何帮助或建议表示赞赏。