kafka jar不包含kafka.utils.testutils

cha*_*nge 5 java unit-testing jar apache-kafka

我正在尝试为kafka生产者/消费者编写单元测试测试用例,并且遇到了一个简单的例子http://grokbase.com/t/kafka/users/13ck94p302/writing-unit-tests-for-kafka-code.

在使用这段代码时,我认为jar没有Testutils类.我开始研究如何包含这个,并发现apache不会发送带有jar的Testutils.我不明白原因.然后找到这个https://issues.apache.org/jira/browse/KAFKA-1308,它要求我运行一些gradle命令.
我很迷惑.为什么我需要这样做?是否有更简单的方法来编写此单元测试或包含Testutils?

小智 11

<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka_2.11</artifactId>
    <version>0.8.2.1</version>
    <classifier>test</classifier>
</dependency>
Run Code Online (Sandbox Code Playgroud)

  • 使用Kafka 0.10.1.0并使用`kafka.utils.TestUtils`时,还需要添加`org.apache.kafka:kafka-clients:0.10.1.0:test`(带分类器`test`的kafka-clients) (4认同)

lau*_*man 2

一般来说,您不会在主生产 jar 中包含测试实用程序。这会用不必要的测试代码污染主代码,并使最常用的 jar 变得臃肿。

尝试找到一个单独的 kafka 测试 jar 或依赖项,并将其包含在您的构建系统中,您应该能够使用 TestUtils 类。