确保mockito中未调用非mocked方法



在以下示例中:

   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();

相关内容

  • 没有找到相关文章

最新更新