模拟在Java单元测试中用Scala编写的静态方法

时间:2016-03-11 12:58:22

标签: scala unit-testing apache-kafka jmockit kafka-consumer-api

我们在项目中使用Kafka客户端。 我试图通过JMockit模拟来自Kafka客户端的静态方法:

    new NonStrictExpectations() {
        {
            new MockUp<Consumer>()
            {                   
                @Mock
                ConsumerConnector createJavaConsumerConnector(
                        ConsumerConfig c){
                    return null;
                }
            };
        }
    };

由于某些原因,看起来JMockit无法正常工作。我确信JMockit的语法用于模拟静态方法。这是错误:

java.lang.IllegalArgumentException: Matching real methods not found for the following mocks:
dispatcher.DispatcherTests$1$1#createJavaConsumerConnector(kafka.consumer.ConsumerConfig)

如果这不起作用,因为Kafka客户端代码在Scala中,我的程序如何工作?

1 个答案:

答案 0 :(得分:0)

有多个ConsumerConnector类 - 我使用的是来自错误的包.Scala在这里没有创建任何问题。它在使用正确的ConsumerConnector类之后起作用。

相关问题