問題分類的分拆this。你把它們放在源代碼樹中嗎?你讓他們在源代碼控制?你在哪裏保存你的測試數據文件?
我在想,如果你的測試用例引用文件,那麼這些文件就是系統行爲規範的一部分,因此它們與系統的當前版本相關聯,因此它們應該被檢入源代碼控制。但我不認爲他們應該在本地檢查,因爲他們不需要,他們可能會相當大。所以我傾向於使用並行樹,如果項目的代碼文件位於$ svn/Code/foo/bar/baz,相關的測試數據文件位於$ svn/TestData/foo/bar/baz中,並且後者將直接從服務器使用某種常見的測試數據助手類(可能在本地緩存文件?)訪問,它們只能接受相對路徑並找出在哪裏找到它們。這有意義嗎?
我想這裏有一個相關的問題,我應該如何廣泛地使用外部文件進行測試。我認爲他們通常對更高級別的「接受」測試有好處。
是的,我明白你在說什麼。我想在低級單元測試和高級驗收測試(可能包括性能測試方面並在某些情況下在多千兆字節的輸入數據上運行)之間需要進行清晰的分割?很明顯,我不應該在每次進行更改時都運行後者,因爲他們需要幾分鐘的時間才能運行,但我仍然希望以某種方式定期自動運行它們。 正如你所看到的,我對於如何處理這樣的項目的測試仍然有些困惑,這些項目旨在處理大量和雜亂的數據輸入。 – 2009-08-03 04:11:55