Rspec - 设计login_as在第一次测试时不起作用

时间:2016-10-05 15:07:52

标签: ruby-on-rails ruby rspec devise

我有一个需要超级管理员登录才能工作的控制器规范

我遵循了this指南并在我的测试中写下了(释义)

before(:each) do
  super_admin = FactoryGirl.create(:super_admin)
  login_as super_admin, scope: :super_admin
end

it "does whatever" do
  get :whatever

  expect(whatever).to eq(whatever)
end

it "does something else" do
  get :something_else

  expect(something_else).to (something_else)
end

我的问题是登录只适用于第一次测试,调试显示它是失败的身份验证,如果我使用before(:each)登录,并且每次测试失败,除了我之前使用的第一次测试( :所有)

我发现login_as with rspec fails first test提问者似乎有类似的问题,但唯一的答案并不能帮助我

1 个答案:

答案 0 :(得分:0)

所以,看起来login_as与控制器规格不一致(我假设),当我用login_as super_admin, scope: :super_admin切换sign_in super_admin时,一切都开始工作