在进行将使用 JS 的测试之前,我必须先登录用户。登录页面确实有效(此测试除外)。
require 'spec_helper'
require 'capybara/poltergeist'
include Capybara::DSL
Capybara.javascript_driver = :poltergeist
describe "Application", js: true do
describe "when logged in", js: true do
let(:user) { FactoryGirl.create(:user) }
before do
visit signin_path
fill_in "Email", with: user.email
fill_in "Password", with: user.password
click_button "Sign in"
end
it "can authenticate user" do
User.all.first.authenticate(user.password).email.should == user.email
end
end
end
问题是单击“登录”按钮返回到带有“无效用户/密码”组合的页面(好像用户不在数据库中)。问题是显然使用确实在数据库中并且密码是正确的(测试“可以验证用户”通过)。
在单击“登录”按钮之前,我截取了屏幕截图,并且正确填充了字段。我试图在 before 块内创建用户,但它也不起作用。
登录页面没有任何特别之处,没有 javascript 或任何东西。只是一个普通的形式发布到服务器。
有任何想法吗?