我正在使用 rails_admin 并在我的 rails 3 应用程序中进行设计,并为黄瓜中的访问控制编写测试。
我想测试不是管理员的人不能访问 rails_admin 的所有路由(例如)
如果我像这样明确地测试:
Scenario: An authenticated user cannot access site administration
Given I am an authenticated user "kate", "kate@example.com"
When I visit the administration page
Then I should see access denied
我可以将字符串“管理页面”与路由“rails_admin_dashboard_path”匹配,并使我的测试通过就好了。但这似乎以错误的方式测试应用程序。我想测试所有路线(以某种方式循环通过它们)而不是暗示它们并且可能错过一两个。
像这样的东西:
Scenario: An authenticated user cannot access site administration
Given I am an authenticated user "kate", "kate@example.com"
When I visit ANY administration page
Then I should see access denied
谁能告诉我如何有效地测试这个?我是否采取了正确的方法?我应该在 rspec 中这样做吗?
你可能会说,我有点n00b。