2016-07-17 14 views
1

JestClientラッパーの単体テストを書いています。私はJestClientを模擬するためにMockitoを使用しようとしているが、私は次のエラーを取得しています:ここで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ベータ

春:4.2.4

編集:私は問題がElasticsearchライブラリだと思います。私はElasticsearch 1.5.2を使用していました。私が2.2.0に切り替えたとき、問題はなくなった。残念ながら、これは私には役に立ちません。なぜなら、私が話しているクラスターは1.5.2で動作しているからです。

+0

完全なスタックトレースを追加します。それはバグか、十分なライブラリを含んでいないようです。 –

+0

私は問題がElasticsearch 1.5.2だと思います。 2.2.0を使用するようにライブラリを更新したとき、エラーは消えました。残念ながら、私が話しているクラスターは1.5.2を使用しています。以前使用していたクラスのいくつかは削除されています。 – alexgbelov

答えて

0

私の場合、私のライブラリの1つとしてElasticsearch 1.5.2も使用していたという問題がありました。 2.0より前のMockitoとElasticsearchのバグがあり、Mockitoは動作しません(https://github.com/mockito/mockito/issues/341参照)。

関連する問題