ank*_*kit 4 java loops mocking mockito
我有一个while循环如下
while (nodeIterator.hasNext())
Run Code Online (Sandbox Code Playgroud)
我已经模拟了这个方法hasNext返回true,以便我可以在while循环中测试代码但现在问题是每次它返回true并且这个循环永远不会结束.请告诉我,无论如何我可以确保只调用一次这个方法,如果没有,那么在第一次执行后如何返回false
ank*_*kit 11
我得到了答案,我们可以通过以下方式做到这一点
when(nodeIterator.hasNext()).thenReturn(true).thenReturn(false);
Run Code Online (Sandbox Code Playgroud)
这被称为方法存根.同样,如果要调用它两次然后想要返回false,则执行以下操作
when(nodeIterator.hasNext()).thenReturn(true).thenReturn(true).thenReturn(false);
Run Code Online (Sandbox Code Playgroud)
见OngoingStubbing.thenReturn(T,T...)
通过这种方式,您可以返回一系列调用的值。
when(nodeIterator.hasNext()).thenReturn(true,false);
Run Code Online (Sandbox Code Playgroud)
以上在第一次调用时返回 true,在每次后续调用时返回 false。
| 归档时间: |
|
| 查看次数: |
5546 次 |
| 最近记录: |