4
Rails測試嘲笑對象與使用工廠對象的最佳做法是什麼?應該嘲笑只有可用於模型可能會轉到外部源?或者你只在測試實際模型時使用工廠,並對其他所有模型進行嘲諷。Rails模型測試 - 嘲弄vs.工廠
例如,如果我們在測試客戶模型時擁有客戶和訂單的銷售系統,我們是否會嘲笑訂單或僅使用工廠訂單?它甚至會有所作爲嗎?
Rails測試嘲笑對象與使用工廠對象的最佳做法是什麼?應該嘲笑只有可用於模型可能會轉到外部源?或者你只在測試實際模型時使用工廠,並對其他所有模型進行嘲諷。Rails模型測試 - 嘲弄vs.工廠
例如,如果我們在測試客戶模型時擁有客戶和訂單的銷售系統,我們是否會嘲笑訂單或僅使用工廠訂單?它甚至會有所作爲嗎?
我們經常在我們的網上商店進行這場辯論,並沒有得出明確的答案。工廠擁有測試與數據庫交互的好處,並且我們發現了一些可能會被模擬&存根錯過的問題。另一方面,這樣的問題很少見,而模擬/存根則運行得更快,這會鼓勵更多的測試。因此我們已經發展到在單元測試中使用模塊&存根而不是工廠,並結合集成測試來放棄這兩種情況,並且因此測試了與db相關的功能性交互,嘲弄了單元測試不支持的db。這似乎爲我們找到了適當的平衡點。
謝謝,這或多或少是我前進的方向,很高興得到一些確認。 – slabounty