在以下示例中:

   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/

10-09 05:40