java – 如何确保模拟对象在mockito中只被调用一次

我有一个while循环如下

while (nodeIterator.hasNext())

我已经模拟了这个方法hasNext返回true,以便我可以在while循环中测试代码,但现在问题是每次它返回true并且这个循环永远不会结束.请告诉我,无论如何我可以确保只调用一次这个方法,如果没有,那么在第一次执行后如何返回false

解决方法:

我得到了答案,我们可以通过以下方式做到这一点

when(nodeIterator.hasNext()).thenReturn(true).thenReturn(false);

这被称为方法存根.同样,如果要调用它两次然后想要返回false,则执行以下操作

when(nodeIterator.hasNext()).thenReturn(true).thenReturn(true).thenReturn(false);
上一篇:java – 使用Mockito注入autowired bean并在mock上设置一些属性


下一篇:java – 使用mockito将模拟注入抽象类