我正在使用capybara进行集成测试,它看起来像是传递给我的控制器的"登录"测试部分的会话出了问题。当通过浏览器时,登录工作正常,但在capybara中失败。
def integration_sign_in(user)
visit signin_path
puts "Pre email: " + user.email
puts "Pre password: " + user.password
# When I use these, everything works correctly
fill_in "session_email", :with => user.email
fill_in "session_password", :with => user.password
# When I use these, the session is wrong
# The params[:session][:email] on the server has the password field
# The params[:session][:password] on the server is nil
#fill_in :email, :with => user.email
#fill_in :password, :with => user.password
click_button "Sign in"
end
水豚测试可以不使用符号吗?我的猜测是,在失败的情况下,第一个字段(email)正在为两个字段填充,这就是为什么会话只有email的值,该值是password。
最新版本的capybara似乎不能正确接受符号。