Mockito的verify可以断言与模拟对象上发生的方法进行一定数量的交互。

// Given
SomeService someService = mock(SomeService.class);

// When
someService.prepare();
someService.prepare();

// Then
verify(someService, times(2)).prepare(); // test passes

有时,在单元测试中了解一个模拟对象上的方法调用总数没有改变是很有用的。

添加新方法调用时,这可以提供可见性(即测试失败)。

Mockito是否提供此功能?

在某些情况下,我想调用:
verify(someService, times(2));

..没有得到UnfinishedVerificationException:
org.mockito.exceptions.misusing.UnfinishedVerificationException:
Missing method call for verify(mock)...

Example of correct verification:
  verify(mock).doSomething()

最佳答案

当时没有API。您可以尝试来使用 MockingDetails.getInvocations 编写自己的验证程序代码

Mockito.mockingDetails(mock).getInvocations()

关于java - Mockito可以验证模拟对象上方法调用的总数吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30709714/

10-10 12:34