2017-03-01 58 views
-1

我正在使用easymock來測試我的課程。在編寫代碼後,我發現即使給出錯誤的輸入,每個測試都能成功。在堆棧溢出的論壇上,我看到可以通過使用replay方法來避免,但當我使用replay時,它甚至成功。我不知道我做錯了什麼?你能否看看代碼並告訴我如果我必須做更多的事情來使測試失敗?我認爲測試是不工作..簡易模擬的期望方法給出了即使是虛假測試也通過的測試結果

service = EasyMock.createMock(MyService.class); 
menu = EasyMock.createMock(ISPFMenu.class); 
menu.setName("name"); 
menu.setTitle("title"); 

EasyMock.expect(service.createLinesToParseEasyMock(menu)).andReturn(null); 
EasyMock.replay(service); 
+0

所以此調用應該返回null? – Christian

+0

我的誤解。最後添加驗證可能是你想要的。 – James

回答

2

你試過

EasyMock.verify(service); 
EasyMock.verify(menu); 

或可替代

EasyMock.verifyAll(); 
+0

這是工作!謝謝詹姆斯。在驗證之前我還必須使用重播嗎?當我從論壇上閱讀時,我必須使用重播來激活測試,但似乎並非如此。 – user2307786

+0

這對您的問題中的代碼沒有任何影響。您仍然希望重播,以便在實際測試行爲時使用。 – James