【问题标题】:Mockito - what does verify method do?Mockito - 验证方法有什么作用?
【发布时间】:2015-02-11 22:55:32
【问题描述】:

假设我有以下伪类测试代码:

 //Let's import Mockito statically so that the code looks clearer
 import static org.mockito.Mockito.*;

 //mock creation
 List mockedList = mock(List.class);

 //using mock object
 mockedList.add("one");
 mockedList.clear();

 //what do these two verify methods do ?
 verify(mockedList).add("one");
 verify(mockedList).clear();

我一直显示测试通过但我不知道验证是什么意思?它到底在验证什么?我知道我模拟了一个 add 和 clear 调用,但是这两个 verify 调用是做什么的?

【问题讨论】:

  • 您还可以使用 verify 来验证调用的确切次数/至少一次/从不,或确保交互从未在 mock 上发生

标签: android unit-testing mocking mockito


【解决方案1】:

Mockito.verify(MockedObject).someMethodOnTheObject(someParametersToTheMethod); 验证您在模拟对象上调用的方法确实被调用。如果没有调用它们,或者使用错误的参数调用它们,或者调用错误的次数,它们将无法通过您的测试。

【讨论】:

    【解决方案2】:

    它断言该方法已被调用,并带有这些参数。

    注释掉:

    //mockedList.add("one");
    

    或者改变它的参数,测试就会失败。

    【讨论】:

    • 好的,上面写着org.mockito.exceptions.verification.WantedButNotInvoked,谢谢韦斯顿。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多