j2e*_*nue 24 android unit-testing mocking mockito
假设我有以下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();
Run Code Online (Sandbox Code Playgroud)
我一直在显示测试通过,但我不知道验证意味着什么?什么是确切的验证?我知道我嘲笑了一个添加和清除的调用,但这两个验证调用有什么作用?
kin*_*iko 24
Mockito.verify(MockedObject).someMethodOnTheObject(someParametersToTheMethod);
验证您在模拟对象上调用的方法确实被调用.如果没有调用它们,或者使用错误的参数调用它们,或者调用了错误的次数,它们将无法通过测试.
它断言该方法已被调用,并带有这些参数。
注释掉:
//mockedList.add("one");
Run Code Online (Sandbox Code Playgroud)
或更改其参数,测试将失败。
| 归档时间: |
|
| 查看次数: |
9301 次 |
| 最近记录: |