让我说我有以下psuedo测试代码:
//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();
我一直在显示测试通过,但我不知道验证意味着什么?什么是确切的验证?我知道我嘲笑了一个添加和清除的调用,但这两个验证调用是做什么的?
答案 0 :(得分:19)
Mockito.verify(MockedObject).someMethodOnTheObject(someParametersToTheMethod);
验证您在模拟对象上调用的方法确实被调用。如果他们没有被调用,或者使用错误的参数调用,或者调用错误的次数,他们将无法通过测试。
答案 1 :(得分:6)
它断言该方法被调用,并使用这些参数。
评论:
//mockedList.add("one");
或者更改其参数,测试将失败。