Ruby on rails 使用CanCan和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在最后一个测试时失败(例如,它看到测试用例、另一个用例和隐藏的用例) 我开始怀疑我可能试图做一些根

我正在为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"