当被cancancan gem功能阻止时,Rspec会自动创建新对象而无需执行控制器动作

时间:2019-01-23 18:10:40

标签: ruby-on-rails rspec rspec-rails testcase cancancan

使用cancancan宝石能力。我不允许租户用户管理会员证书。

但是仍然在这个测试案例中。 我有一个新对象。 甚至测试用例也无法执行控制器操作。 (我检查过) 那怎么可能。

这仅在我有一个名为相同变量的控制器时发生。 如果我在控制器中更改了对象名称,那么这不会失败。

例如,如果我在控制器Membership_certificate_obj中更改变量名称,它将通过。

context ' unauthorized tenant user' do
  before { login(tenant.user) }
  it 'does not assign for anauthonticated user' do
    get :new,{ }
    expect(assigns(:membership_certificate)).not_to be_a_new(MembershipCertificate)
  end
end

0 个答案:

没有答案