1
ように私は、単純なユニットテストMockitoのスパイオブジェクトは、任意の(と検証)引数
Map<String, String> spyMap = spy(Map.class);
spyMap.put("a", "A");
spyMap.put("b", "B");
InOrder inOrder = inOrder(spyMap);
inOrder.verify(spyMap).put(any(), any());
inOrder.verify(spyMap).put(any(), any());
を持っている。しかし、これはエラーをスローします。次の作品:
inOrder.verify(spyMap).put("a", "A");
inOrder.verify(spyMap).put("b", "B");
私は正確な文字列の一致のみでテストできますか?それは私にとっては限界があるようです。私のテストメソッドは実際にはランダムなStringを生成するので、マップに何が正確に挿入されるのかはわかりません。私はArgumentCaptor
メソッドを使ってみましたが、それもうまくいきませんでした。
Map<String, String> spyMap = spy(Map.class);
spyMap.put("a", "A");
spyMap.put("b", "B");
ArgumentCaptor<String> arg1 = ArgumentCaptor.forClass(String.class);
ArgumentCaptor<String> arg2 = ArgumentCaptor.forClass(String.class);
verify(spyMap).put(arg1.capture(), arg2.capture());
働いていました!ありがとうございました!!!! – user2689782