在以下示例中:
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失败?
文档明确介绍了这一点。您想在调用verify
(根据文档)或之后调用verifyNoMoreInteractions
verify(execution).getLastQty();
verify(execution).getLastPrice();
verifyNoMoreInteractions(execution);
或使用ignoreStubs
:
verifyNoMoreInteractions(ignoreStubs(execution));
如果符合用例,您可以尝试never方法:
即
verify(execution, never()).someOtherMethod();