Ruby on rails 使用CanCan和Cucumber测试访问控制
我正在为rails 3应用程序设置一些测试,使用Desive进行身份验证,CanCan进行访问控制,Cucumber进行集成测试。目前,我正在进行以下测试,以检查访问控制是否正确(目前非常简单): 此时,我的CanCan能力模型仅根据用户的公司id和案例限制对案例的访问。当我在浏览器中尝试此功能时,如果用户的公司id为1,则效果良好,只能看到公司id为1的案例。但是,当我运行测试时,Cucumber在最后一个测试时失败(例如,它看到测试用例、另一个用例和隐藏的用例)Ruby on rails 使用CanCan和Cucumber测试访问控制,ruby-on-rails,cucumber,devise,cancan,Ruby On Rails,Cucumber,Devise,Cancan,我正在为rails 3应用程序设置一些测试,使用Desive进行身份验证,CanCan进行访问控制,Cucumber进行集成测试。目前,我正在进行以下测试,以检查访问控制是否正确(目前非常简单): 此时,我的CanCan能力模型仅根据用户的公司id和案例限制对案例的访问。当我在浏览器中尝试此功能时,如果用户的公司id为1,则效果良好,只能看到公司id为1的案例。但是,当我运行测试时,Cucumber在最后一个测试时失败(例如,它看到测试用例、另一个用例和隐藏的用例) 我开始怀疑我可能试图做一些根
我开始怀疑我可能试图做一些根本不起作用的事情(我知道Desive和CanCan存在一些问题)。这能起作用吗?如果是这样的话,有什么可能是错误的吗?您是否尝试过在步骤定义中保存和打开页面,以查看cucumber看到了什么?
Feature: Viewing case list
In order to view my cases
As a IMEBase administration
I want to list all cases
Background: Logged In
Given a logged in user with company_id "1"
Scenario: View cases
Given all the following cases exist:
| claim_number | requestor | claimant | company_id |
| Test Case | Acme | John Doe | 1 |
| Another Case | Yahoo | Stan Smith | 1 |
| Hidden Case | Acme | Steve Jobs | 2 |
When I go to the cases page
Then I should see "Test Case"
And I should see "Another Case"
And I should not see "Hidden Case"