Ruby on rails RSpec设备-无法为种子数据创建的用户登录
为了测试控制器,我使用以下代码对使用种子数据创建的用户进行身份验证。所有测试用例都没有通过401测试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
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动态创建数据。