0
我正在編寫一個圍繞void函數的單元測試。 在裏面我調用另一個函數。
我想測試這個函數只能調用一次。 如果它被調用0或2次,它應該失敗。用EasyMock聲明方法調用
我試過使用以下內容。但即使我從代碼中刪除函數調用,測試也不會失敗。
EasyMock.expectLastCall().once();
EasyMock.expectLastCall().atLeastOnce();
我正在編寫一個圍繞void函數的單元測試。 在裏面我調用另一個函數。
我想測試這個函數只能調用一次。 如果它被調用0或2次,它應該失敗。用EasyMock聲明方法調用
我試過使用以下內容。但即使我從代碼中刪除函數調用,測試也不會失敗。
EasyMock.expectLastCall().once();
EasyMock.expectLastCall().atLeastOnce();
這應該工作:(但你也可以省略EasyMock.expectLastCall().once()
)
I m = EasyMock.createMock(I.class);
m.meth();
EasyMock.expectLastCall().once();
EasyMock.replay(m);
m.meth();
m.meth(); //fails
EasyMock.verify(m);
如果你告訴它期望兩次調用該方法,會發生什麼? –
你在測試結束時調用了verify()嗎?只有在驗證期間,EasyMock纔會檢查所有期望是否已經滿足。 –
@Nizet我沒有。調用後驗證它失敗。非常感謝。 – shantanu