mockitoコールバックと引数値の取得
Mockitoに関数の引数値をキャプチャさせる運がありません!私は検索エンジンのインデックスをモックしていて、インデックスを作成する代わりに、ハッシュを使用しています。 // Fake index for solr Hashmap<Integer,Document> fakeIndex; // Add a document 666 to the fakeIndex SolrIndexReader reader = Mockito.mock(SolrIndexReader.class); // Give the reader access to the fake index Mockito.when(reader.document(666)).thenReturn(document(fakeIndex(666)) クエリの結果(つまり、クエリが返すドキュメント)をテストしているため、任意の引数を使用することはできません。同様に、ドキュメントごとに特定の値を指定したり、行を設定したりしたくありません。 Mockito.when(reader.document(0)).thenReturn(document(fakeIndex(0)) Mockito.when(reader.document(1)).thenReturn(document(fakeIndex(1)) .... Mockito.when(reader.document(n)).thenReturn(document(fakeIndex(n)) 「Mockitoの使用」ページの「コールバック」セクションを見ました。残念ながら、それはJavaではなく、Javaで機能するように自分で解釈することはできませんでした。 編集(説明のため):Mockitoに引数Xをキャプチャさせて、それを関数に渡すにはどうすればよいですか?Xの正確な値(またはref)を関数に渡してほしい。 すべてのケースを列挙したくはありません。また、クエリごとに異なる結果をテストしているため、任意の引数は機能しません。 Mockitoページには val mockedList = mock[List[String]] mockedList.get(anyInt) answers { i => "The parameter …