Rspec + capybara rails 4 - rake集成测试失败



我正在尝试测试设计登录,注销和所有其他场景,但是我不能得到一个场景过去,让我们采取登录失败

在我的特征中有

scenario 'user cannot sign in if not registered' do
   login_as('user2@example.com', 'meow')
   visit overviews_path
   save_and_open_page
    expect(page).to have_content I18n.t 'devise.failure.not_found_in_database', authentication_keys: 'email'
end

我还将sign_in helper设置为;

 def sign_in(email, password)
  user.confirm!
  visit new_user_session_path
  fill_in 'Email', with: email
  fill_in 'password', with: password
  click_button 'Log in'
end

但是这会产生一个错误;

expected to find text "Invalid email or password." in "TypeError at /overviews ======================= > no implicit conversion of Symbol into Integer spec/features/users/sign_in_spec.rb, line 14

任何想法?

您将助手方法命名为sign_in,但在您的场景中调用login_as。你应该使用其中一种方法,而不是同时使用。

更新:好的,重新检查文档,你应该使用你自己的助手,这样你就可以模拟一个实际的用户登录,或者由Warden提供的login_as,在这种情况下,确保你包括在你的测试/rspec设置:

include Warden::Test::Helpers
Warden.test_mode!
另外,您应该在工厂/夹具中确认您的用户,而不是在helper方法中(可能没有定义)。

相关内容

  • 没有找到相关文章

最新更新