我使用easymock進行了單元測試,結果未在答案對象中設置。模擬對象被傳遞給測試主題,並在處理完成後返回模擬對象的相同引用,但不包含結果集。模擬未保存狀態
的代碼應該使畫面更清晰
@Test
public void test() {
DomainInterface mock = EasyMock.create("mock", DomainInterface.class);
Subject subject = new Subject();
subject.setDomainInterface(mock);
final DomainInterface domain = subject.process();
assertEquals("Not the same instance", mock, domain);
final String expected = "VALID";
final String answer = domain.getAnswer();
assertEquals("Not the expected answer", expected, answer);
}
什麼Subject.process正在做的是一對夫婦的驗證,然後設置「有效」的答案,但執行失敗,並斷言錯誤消息
java.lang.AssertionError: Not the expected answer expected:<VALID> but was:<null>
主題對象有一個類型爲DomainInterface的私有成員,其中設置了模擬的引用,爲什麼答案在截斷之前不會被保留?
在此先感謝
很難說沒有看到其他的代碼。我建議你提取足夠的內容,使其成爲一個簡短但完整的程序,然後發佈。 –