【问题标题】:Import Kafka MockAdminClient for unit testing my Kafka application using maven导入 Kafka MockAdminClient 以使用 maven 对我的 Kafka 应用程序进行单元测试
【发布时间】:2019-07-30 08:24:29
【问题描述】:

我想使用 MockAdminClient 对我的 Kafka 应用程序进行单元测试。如何使用maven 导入MockAdminClient

https://github.com/apache/kafka/blob/2.3.0/clients/src/test/java/org/apache/kafka/clients/admin/MockAdminClient.java

更新:

我的kafka-client相关pom.xml

<dependency>
   <groupId>org.apache.kafka</groupId>
   <artifactId>kafka-clients</artifactId>
    <version>${kafka.version}</version>
</dependency>

通过参考 maven 的测试,我发现了这样的东西 How can I reference unit test classes of a maven dependency in my java project?

【问题讨论】:

    标签: java apache-kafka


    【解决方案1】:

    您需要拉取测试分类器,然后添加测试范围以使其仅可用于您的单元测试

    <dependency>
       <groupId>org.apache.kafka</groupId>
       <artifactId>kafka-clients</artifactId>
        <version>${kafka.version}</version>
        <scope>test</scope>
        <classifier>test</classifier>
    </dependency>
    

    【讨论】:

    • test-jar 不起作用。 也可以工作吗?
    • Kafka 不打包该类型的任何工件。测试只是在一个普通的 jar 中(这是默认类型标签)
    【解决方案2】:

    它是Kafka Clients的一部分,你必须在maven pom.xml中添加以下依赖。

    <dependency>
        <groupId>org.apache.kafka</groupId>
        <artifactId>kafka-clients</artifactId>
        <version>2.3.0</version>
    </dependency>
    

    更多依赖可以参考下面的链接。 https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients

    【讨论】:

    • 我的 pom 中有依赖项,但 MockAdminClient 在测试文件夹中
    • 你在使用多模块maven项目吗?
    • 不,我会更新我的 pom。我正在调查类似stackoverflow.com/questions/29653914/…
    猜你喜欢
    • 2019-06-29
    • 1970-01-01
    • 2016-12-03
    • 2019-04-15
    • 1970-01-01
    • 2020-04-06
    • 2017-08-30
    • 1970-01-01
    • 2018-07-06
    相关资源
    最近更新 更多