我知道如何在Rails中運行功能/集成測試,這個問題是關於最佳實踐的。比方說,授權使用四個不同的用戶角色來執行:Rails授權功能測試
- 基本
- 編輯
- 管理
- 超級
這意味着,對於每個動作有五種不同的行爲可能(4個角色+未經認證/匿名)。一種方法我已經採取是測試上的每一個動作每一個角色,例如:
test_edit_by_anonymous_user
test_edit_by_basic_user
test_edit_by_editor_user
test_edit_by_admin_user
test_edit_by_super_user
但這顯然導致lot測試(網站上的每個控制器動作確實需要測試五次)。相反的做法是單獨測試授權機制,然後在測試每個操作(設置)之前驗證爲超級,並且僅測試每個頁面的一個版本。
我已經嘗試了不同程度的特異性的幾種方法,但還沒有完全滿足任何事情。當我測試更多案例時,我感覺更舒適,但測試代碼的數量和抽象難度一直是關閉的。有沒有人有辦法解決他們滿意的問題?
謝謝!視頻和Ryan的文章*真的很有用。我很高興知道有人在討論這個問題。 – 2009-12-23 01:44:16
如果任何人有困難訪問視頻: [視頻是YouTube上的點擊這裏](http://www.youtube.com/watch?v=KUjnAztX9yk) – 2012-06-26 23:24:21