这就是我的理解:
Mockito.when(list.get(Mockito.anyInt())).thenReturn("Foo Bar");
Assert.assertEquals("Foo Bar",list.get(7));
偶然地,我看到我也能做到,
Mockito.anyInt();
Mockito.when(list.get(13)).thenReturn("Foo Bar");
Assert.assertEquals("Foo Bar",list.get(7));
但我不能以下,
Mockito.anyInt();
Mockito.verify(list).get(5);
而不是
Mockito.verify(list).get(Mockito.anyInt());
没关系。为什么不呢?
答案 0 :(得分:0)
Mockito.anyInt()用于模拟行为记录或验证。
Mockito.when(list.get(Mockito.anyInt())).thenReturn("Foo Bar");
表示使用任何Integer值调用get on list时,将返回“Foo Bar”字符串。
Mockito.verify(list).get(Mockito.anyInt());
是否正确用法并且意味着list.get()仅使用任何Integer值调用一次。