2

I am not sure where I'll write test cases for our app, if i am using cacncan.

This should be in model or controller section.

In my case:

a user can delete or not a object. To handle this case I used cancan and I think this code should be in model not in controller and how do I test this using rspec.

Please provide me a better advise.

Thanks

4

1 回答 1

1

我会推荐以下方法:

  1. 为 cancan 的能力类编写单元测试,以确保您的角色逻辑良好。
  2. 根据您的应用程序的逻辑,为每个人可以/不能访问该控制器的场景编写控制器测试。
  3. 编写一些实际命中页面的验收/集成测试,以确保授权端到端工作。在这里,您不必像在第 1 步和第 2 步中那样彻底。您可以在此处测试“晴天”场景,您可以在其中以该级别的用户身份执行操作。您可能希望围绕应用程序的关键部分添加一些测试,在这些部分您以错误级别的用户登录并尝试执行未经授权的操作。
于 2012-10-22T00:17:30.210 回答