我正在做一些测试驱动的开发,并像这样向我的测试用例添加了一个 Mockito verify() 调用(更改名称以保护无辜代码):
Api api = mock(Api.class);
Thing thing = mock(Thing.class);
when(thing.getId()).thenReturn(1);
// later...
verify(api).doAThingWithAThingId(thing.getId())
即使我没有将调用添加api.doAThingWithAThingId()
到我的代码中,这个测试用例也通过了!但是,当我这样做时...
int id = thing.getId();
verify(api).doAThingWithAThingId(id);
验证按预期失败。是什么导致了这种行为?
(作为记录,这是使用稍旧的 Mockito 版本,1.8.4。)