在以下示例中:
Execution execution = mock(Execution.class);
when(execution.getLastQty()).thenReturn(1000.0);
when(execution.getLastPrice()).thenReturn(75.0);
order.onFillReceived(execution);
assertEquals(0, order.getLeavesQty(), 0);
执行还有许多其他不应调用的方法。在此测试中,仅应使用已被模拟的两种方法并应调用它们。如果调用了任何其他方法,则测试应失败。
如果调用任何其他方法,我如何告诉Mockito失败?
最佳答案
documentation明确涵盖了这一点。您想在调用verifyNoMoreInteractions
之后(根据文档)调用verify
,或者
verify(execution).getLastQty();
verify(execution).getLastPrice();
verifyNoMoreInteractions(execution);
或使用
ignoreStubs
:verifyNoMoreInteractions(ignoreStubs(execution));
关于java - 确保未在 mock 中调用未模拟的方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8983172/