我正在做一些測試驅動的開發,並將Mockito verify()調用添加到我的測試用例中(如更改名稱以保護無辜代碼) :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的稍舊的版本。)
感謝您的簡短解釋。我經常被Mockito和'持續存在'困擾。 –
是的,我通過一個簡單的測試驗證了這一點,發生在Mockito 1.8。*中,但不在Mockito 1.9中。學過的知識! – aarestad
還有一點信息,這實際上是一個已知的缺陷,在1.8.5中已修復:https://code.google.com/p/mockito/issues/detail?id=138 – aarestad