Я пишу модульные тесты для обертки JestClient. Я пытаюсь использовать Mockito для имитации 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 - это просто интерфейс. Я использую:
Jest: 0.1.6
Mockito: 2.0.36-бета
Spring: 4.2.4
EDIT: Я думаю, что вопрос является библиотека Elasticsearch. Я использовал Elasticsearch 1.5.2; когда я переключился на 2.2.0, проблема исчезла. К сожалению, это не помогает мне, так как кластер, с которым я разговариваю, работает на 1.5.2.
Добавить полный стек. Кажется, это ошибка, или вы не включаете достаточно библиотек. –
Я думаю, что проблема Elasticsearch 1.5.2. Когда я обновил свои библиотеки, чтобы использовать 2.2.0, ошибка исчезла. К сожалению, кластер, с которым я разговариваю, использует 1.5.2, и несколько классов, которые я использовал, были удалены. – alexgbelov