我正在为 JestClient 包装器编写单元测试。我正在尝试使用 Mockito 来模拟 JestClient,但出现以下错误:
Mockito cannot mock this class: interface io.searchbox.client.JestClient
Mockito can only mock visible & non-final classes.
If you're not sure why you're getting this error, please report to the mailing list.
这是我定义模拟的方式:
@Bean(name = Identifiers.JEST_CLIENT)
@Profile(Identifiers.PROFILE_UNIT_TEST)
public JestClient getJestClient() {
JestClient client = Mockito.mock(JestClient.class);
return client;
}
我不确定为什么会出现错误,因为 JestClient 只是一个接口。我在用:
开玩笑:0.1.6
Mockito:2.0.36-beta
春天:4.2.4
编辑:我认为问题在于 Elasticsearch 库。我使用的是 Elasticsearch 1.5.2;当我切换到 2.2.0 时,问题就消失了。不幸的是,这对我没有帮助,因为我正在与之交谈的集群在 1.5.2 上运行。