在 Java 单元测试中模拟用 Scala 编写的静态方法
Mocking a static method which is written in Scala in Java Unit test
我们正在项目中使用 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#createJavaConsumerConnector(kafka.consumer.ConsumerConfig)
如果这不起作用,因为 Kafka 客户端代码在 Scala 中,我的程序如何工作?
有多个 ConsumerConnector classes - 我使用的那个来自错误的包。Scala 在这里没有造成任何问题。它在使用正确的 ConsumerConnector class.
后起作用
我们正在项目中使用 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#createJavaConsumerConnector(kafka.consumer.ConsumerConfig)
如果这不起作用,因为 Kafka 客户端代码在 Scala 中,我的程序如何工作?
有多个 ConsumerConnector classes - 我使用的那个来自错误的包。Scala 在这里没有造成任何问题。它在使用正确的 ConsumerConnector class.
后起作用