我知道如何在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