接続が必要ないようにいくつかのmongoクラスをモックアップしようとしていますが(かなり標準的なものです)、次のコードで問題が発生します:
when(dbCollection.find(isA(DBObject.class))).thenReturn(dbCursor);
これを実行すると、私が得られます:
org.mockito.exceptions.misusing.InvalidUseOfMatchersException:
引数マッチャーの使用が無効です!
0 のマッチャーが予想され、1 が記録されました:
at ...GridFileManagerTest.beforeClass(GridFileManagerTest.java:67)この例外は、マッチャーが生の値と組み合わされている場合に発生する可能性があります
。マッチャーを使用する場合、すべての引数はマッチャーによって提供される必要があります。
例:
//正解:
someMethod(anyObject(), eq("String by matcher"));詳細については、Matchers クラスの javadoc を参照してください。
私がこれを行うとしたら:
when(dbCollection.find(mock(DBObject.class))).thenReturn(dbCursor);
もうその問題はありません。ただし、これは私が望むことを達成していないようです-メソッドがDBObject型のオブジェクトで呼び出されたときに値を返したいです。
考え?