我一直在努力推動自己的心智,當在家裏開發更加面向TDD和DDD。測試假存儲庫有什麼意義?
我不明白的一件事是爲什麼你會創建一個虛假的存儲庫來測試?我沒有仔細研究它,但是測試的想法肯定是幫助解耦你的代碼(給你更多的靈活性),修剪掉所需的代碼並減少錯誤的數量。
那麼有人可以填寫我的愚蠢的大腦,爲什麼有些人喜歡測試假的存儲庫?我認爲測試一個真正的數據庫是一個更好的選擇,創建一個假的,因爲那麼你知道它對你的真實世界的數據存儲工作。
我一直在努力推動自己的心智,當在家裏開發更加面向TDD和DDD。測試假存儲庫有什麼意義?
我不明白的一件事是爲什麼你會創建一個虛假的存儲庫來測試?我沒有仔細研究它,但是測試的想法肯定是幫助解耦你的代碼(給你更多的靈活性),修剪掉所需的代碼並減少錯誤的數量。
那麼有人可以填寫我的愚蠢的大腦,爲什麼有些人喜歡測試假的存儲庫?我認爲測試一個真正的數據庫是一個更好的選擇,創建一個假的,因爲那麼你知道它對你的真實世界的數據存儲工作。
假存儲庫允許您測試只是您的應用程序代碼。
假存儲庫意味着自動化測試可以在存儲庫中輕鬆設置已知狀態。
假存儲庫比實際數據庫快幾個數量級。
假存儲庫不會替代系統測試,它將包含您的數據庫。
在我看來有兩個,爲什麼你對測試僞造的資源非常大的原因:
唯一的缺點是明顯的:
...這就是集成測試是。
我upvoted長頸鹿的答案,但要添加只是幾個點:
每個開發人員可以使用模擬/假 庫爲她/他自己的單元 測試,而不與 測試干擾由同一項目上的其他開發者 完成。
使用本地的模擬/假庫 加強了數據 抽象層,這是很好的 設計實踐的用戶。
作爲一個例子,我已經用作HashMap
簡單的東西來實現數據存取層的模擬。這使得每個單元測試都很容易,以確保爲其目的準確地存在必要條件,並驗證是否在數據訪問層上進行了正確的調用。
我也沒有看到任何理由,很容易建立一個數據庫實例並將其用於開發。 – 2009-01-02 13:13:25
您可能會詢問有關測試假存儲庫和測試假冒存儲庫的問題。我認爲你的意思很重要,但是你能否澄清這個問題,以便人們可以提供更有針對性的答案? – 2009-01-02 13:22:00