Kafka stream API - 如何使用嵌入式 Kafka 测试处理



我想用嵌入式 kafka 测试我的处理器。甚至可能吗?

当我使用 Kafka 和 ZK 在本地运行应用程序时,它运行良好 - 我的示例侦听器接收的消息与处理器相同(太好了,两者都听同一个主题(,但是当我使用嵌入式 kafka 测试它时,只有注释有@KafkaListener的方法才能获得消息,但处理器什么也得不到。

我想向处理器的主题发送消息,然后检查它是否将结果发送到另一个主题。

对于这样的用例,有什么解决方案吗?

建议使用TopologyTestDriver: https://kafka.apache.org/11/documentation/streams/developer-guide/testing.html 测试代码

你也可以使用KafkaEmbedded,或者更好的EmbeddedKafkaCluster。例如,请查看 Kafka Streams 集成测试:https://github.com/apache/kafka/tree/trunk/streams/src/test/java/org/apache/kafka/streams/integration

最新更新