Ruby on rails RSpec设备-无法为种子数据创建的用户登录

Ruby on rails RSpec设备-无法为种子数据创建的用户登录,ruby-on-rails,rspec,devise,Ruby On Rails,Rspec,Devise,为了测试控制器,我使用以下代码对使用种子数据创建的用户进行身份验证。所有测试用例都没有通过401测试 def login_user before(:each) do user = User.find_by_email('iberp@gmail.com') @request.env["devise.mapping"] = Devise.mappings[:user] sign_in user # Using factory girl as an example e

为了测试控制器,我使用以下代码对使用种子数据创建的用户进行身份验证。所有测试用例都没有通过401测试

def login_user
  before(:each) do
    user = User.find_by_email('iberp@gmail.com')
    @request.env["devise.mapping"] = Devise.mappings[:user]
    sign_in  user # Using factory girl as an example
  end
end

将user设置为实例变量(@user)后,问题得到解决。为什么用户需要是实例变量?签名响应不足以设置cookies?

尝试将您的
登录
行更改为:
登录:用户,用户
侧注,在测试数据库中存储数据通常是个坏主意。考虑使用FactoryGirl动态创建数据。尝试将您的
登录
行更改为:
登录:用户,用户
旁注,将数据存储在测试数据库中通常是个坏主意。研究使用FactoryGirl动态创建数据。