0
我正在發現與測試流相關的Rails集成測試,並且我有一些關於使用集成測試替換控制器測試(在rails 5中不推薦使用)的行業標準的問題。替代rails集成測試的控制器測試應該始終堅持db?
通常我們有微小的控制器,我們可以獲取參數,調用正確的協作者並準備響應,並且很容易通過直接在控制器對象上嘲諷協作者來測試它。
我很擔心將每個控制器測試遷移到集成測試的開銷,而持久化db。這種情況的標準是什麼?
只測試一條路線/動作而不是完整流程時的標準是什麼?
我們怎麼能代替這個?:
@controller.stubs(:authenticate).returns(true)
感謝您的回答!同意一切。在將控制器測試遷移到集成測試時(如Rails 5中所建議的),身份驗證和存儲用戶不會產生差異,但將每個模型存儲在db中會帶來很多開銷。你做了一個軌道集成測試,爲每個控制器動作存儲所有的數據庫? – Jorge
@Jorge我使用燈具/工廠來創建我所需要的當前測試。 –