[英]Rails Model Testing - Mocking vs. Factories
Rails測試模擬對象與使用工廠對象的最佳實踐是什么。 如果只模擬時使用的模型可能會去到外部源? 或者,當您測試實際模型並使用模擬處理其他所有內容時,您是否只使用工廠?
例如,如果我們在測試客戶模型時有客戶和訂單的銷售系統,我們是否會模擬訂單或者我們只是使用工廠訂單? 它甚至有所作為嗎?
我們經常在我們的網上商店進行這場辯論,並沒有得出明確的答案。 工廠可以測試與數據庫的交互,我們發現了一些問題,這些問題可能會被模擬和存根錯過。 另一方面,這樣的問題很少見,並且模擬/存根運行得更快,這鼓勵了更多的測試。
所以我們已經發展到在單元測試中使用模擬和存根而不是工廠,並結合了放棄兩者的集成測試,因此測試與模擬和存根單元測試的數據庫的功能交互沒有。 這似乎為我們取得了適當的平衡。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.