这让我很困惑,让我用基本的例子来解释;
public void search(String name) {
// some more
Response response = component.findByName(name);
// some more action with response
}
所以当我为它编写测试时;
@Test
public void search_givenName_shouldOk() {
Example example = new Example();
Component component= Mockito.mock(Component.class);
String name = "test";
when(component.findByName(eq(name))).thenReturn(mock(Response.class));
example.search(name);
verify(component, times(1)).findByName(eq(name));
}
所以实际上当我们用 eq(name) 输入编写 when(...) 子句时,它不是已经验证了我们的测试用例吗?否则 findByName 将不会返回 Response 并且进一步的调用将无法正常进行。那么当我们再次用verify(..)验证它的时候,是不是加倍工作了呢?
森栏
摇曳的蔷薇
相关分类