我尝试登录用户使用Devise在Rspec中测试它。 现在我有:
user = FactoryGirl.create(:user)
sign_in user
我收到错误
NoMethodError:
undefined method `sign_in' for #<RSpec::ExampleGroups::Authorization::WhenSignedIn::GETIndex:0x8374cc2c>
# ./spec/features/authorization_spec.rb
我已经阅读了一些SO问题和一些关于测试的文档(如this)
到目前为止,我尝试了各种各样的方法,但仍然无法管理它。 如果需要,我也可以在这里列出它们,但它们往往会出现新的错误和复杂情况。 那么我该怎样做才能让它全部工作?
长篇故事: 我尝试过的事情:
尝试这样的事情:
@user ||= FactoryGirl.create :user
post_via_redirect user_session_path, 'user[email]' => @user.email, 'user[password]' => @user.password
添加到devise和rails_helper这一行:
config.include Devise::TestHelpers, type: :controller
config.include Devise::TestHelpers, type: :view
以及其他方式。
答案 0 :(得分:0)
最后是这样的:
@user ||= FactoryGirl.create :user
page.driver.post new_user_session_path, 'user[email]' => @user.email, 'user[password]' => 'password123'
感谢@Arun Kumar