【发布时间】:2017-08-30 09:56:09
【问题描述】:
在探索如何对 Kafka Stream 进行单元测试时,我遇到了 ProcessorTopologyTestDriver,不幸的是,这个类似乎已经被版本 0.10.1.0 (KAFKA-4408) 破坏了
是否有针对 KTable 问题的解决方法?
我看到了“Mocked Streams”项目,但首先它使用版本 0.10.2.0,而我使用的是 0.10.1.1,其次是 Scala,而我的测试是 Java/Groovy。
关于如何在无需引导 zookeeper/kafka 的情况下对流进行单元测试的任何帮助都会很棒。
注意:我确实有使用嵌入式服务器的集成测试,这是用于单元测试,也就是快速、简单的测试。
编辑
感谢拉蒙·加西亚
对于通过 Google 搜索到达这里的人,请注意测试驱动程序类现在是 org.apache.kafka.streams.TopologyTestDriver
这个类在maven包groupId org.apache.kafka, artifactId kafka-streams-test-utils
【问题讨论】:
-
ProcessorTopologyTestDriver是内部测试类,不是正式发布的一部分。您提到的 JIRA 已经修复——因此您可以从 Github 获取最新版本。 -
如果使用了依赖项上的
test限定符,则该类可用。我不能使用最新版本,因为我必须支持0.10.1.1。 -
以防万一您不知道@Hartimer:Kafka Streams 版本
0.10.2.0可以针对0.10.1.1Kafka 代理运行,它是向后兼容的。因此,如果代理端版本要求是阻碍您支持 Kafka Streams 的原因——它不是。 ;-) -
很高兴知道! :) 谢谢。但是,如果我没看错的话,链接问题的修复与尚未发布的版本
0.11.0相关联,对吧?
标签: apache-kafka apache-kafka-streams