【问题标题】:kafka producer unit test (java)kafka生产者单元测试(java)
【发布时间】:2013-10-15 03:45:11
【问题描述】:

使用 kafka(java 代码)做我的第一步我想为 kafka 生产者创建一个简单的测试,比如 this 我可以在其中模拟 zoo keeper(这个实现看起来不错,但我无法达到一些那里的类​​,特别是 EmbeddedZookeeper 和 TestUtils)。

有什么想法吗?

【问题讨论】:

    标签: java unit-testing apache-zookeeper apache-kafka


    【解决方案1】:

    您可以使用 Kafka-test 工件:

    <dependency>
        <groupId>org.apache.kafka</groupId>
        <artifactId>kafka_2.9.2</artifactId>
        <version>0.8.0</version>
        <classifier>test</classifier>
        <scope>test</scope>
    </dependency>
    

    如果您需要单独的 zookeeper 模拟,Apache curator-test 可能会这样做:

    <dependency>
        <groupId>org.apache.curator</groupId>
        <version>2.3.2-SNAPSHOT</version>
        <artifactId>curator-test</artifactId>
        <scope>test</scope>
    </dependency>
    

    【讨论】:

    • 这应该是公认的答案。值得一提的是,为了在测试生产者时充分利用Kafka的测试神器,不妨看看这个sn-p:gist.github.com/asmaier/6465468
    • 在 kafka 8 的情况下 - 这是公认的答案,但我认为这不适用于 kafka 7.x
    【解决方案2】:

    可能取自 Kafka 源.. 检查 here 获取 EmbeddedZk 和 here 获取 Utils ..

    完整包可here

    看看有没有用

    【讨论】:

    • 谢谢。这是scala,我正在使用java。我知道两者都可以在我的 jvm 上运行,但要做到这一点,我需要包含这些类的 jar,不是吗?我还能如何在我的 java 代码中使用它?
    • 其他方式可以配置 scala 项目,然后您可以在您的 java 类中使用它们(因为可以从任何一种语言调用方法)。您正在查看的示例可能使用 scala 基础,但是我不确定它是如何实现的。我也在寻找相同的问题,会随时通知您
    • @om-nom-nom 为此我应该在我的 pom 中添加什么?
    • @forhas kafka test utils 位于测试根目录下——这意味着它们不会进入结果工件,如果你想使用它们,你必须复制源代码。
    猜你喜欢
    • 2019-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-09
    • 1970-01-01
    • 2020-05-21
    • 2017-01-04
    • 1970-01-01
    相关资源
    最近更新 更多