好的,這是發生了什麼事。我正在嘗試爲我設置的Library類設置測試代碼。現在,我應該調整我的構造函數,以便在添加新構造函數之前自動在我的數組列表中創建一個條目。這裏是我的構造函數:數組列表:構造函數中的默認條目?
public DvrLibrary()
{
recordings = new ArrayList <DvrRecording>();
DvrRecording initialRecording = new DvrRecording();
initialRecording.setTitle("Family Guy");
initialRecording.setStartTime("10:00pm");
for (int i = 0; i < 3; ++i) { initialRecording.increaseTime(); }
recordings.add(initialRecording);
}
當我創造了我的測試情況下,我有測試代碼:
public void testARecording()
{
DvrLibrary testLibrary = new DvrLibrary();
ArrayList <DvrRecording> testList = new ArrayList <DvrRecording>();
DvrRecording testRecording = new DvrRecording();
testRecording.setTitle("Lost");
testRecording.setStartTime("Later");
for (int i = 0; i < 3; ++i) { testRecording.increaseTime(); }
testLibrary.addRecording(testRecording);
testList.add(testRecording);
assertEquals(testLibrary.getRecordings(), testList);
}
我的問題是,當我運行的實際測試中,默認情況下,我敢當然,沒有被調用。它正在返回一條失敗的錯誤消息,告訴我它期望找到兩個條目,但只找到一條。我嘗試刪除測試代碼創建的新條目,並讀取了應該有一個的錯誤,但沒有發現任何錯誤。
這使我相信我在實際代碼中設置構造函數的方式有些問題,但我不能爲我的生活弄清楚我搞砸了什麼。當我去尋求幫助時,我和他聊過的那個人好像我不確定有什麼不對,但你可能會搞砸這個斷言。但我不知道什麼是錯的?
任何人有任何輸入?我真的很感激它。謝謝!
發佈確切的錯誤消息,您正在獲取。 – kosa 2012-03-01 21:29:43
我有點困惑。如果你在你的testLibrary中添加「family guy」,並且你在testList中添加了「lost」,你爲什麼期望這兩個列表是相同的?假設junit ... – stevevls 2012-03-01 21:30:02