【发布时间】:2016-02-10 13:57:09
【问题描述】:
let(:valid_attributes) {
{
"first_name" => "MyString",
"last_name" => "LastName",
"email" => "email@example.com",
"password" => "password12345",
"password_confirmation" => "password12345"
}
}
it "sets session when" do
post :create, {:user => valid_attributes}, valid_session
expect(session[:user_id]).to eq(valid_attributes.id)
end
当我在 test 上面运行时,它失败了 失败/错误:expect(session[:user_id]).to eq(valid_attributes["id"])
预期:无
得到:1
但是当我将其更改为以下代码时,它通过了测试。但这两者有什么区别。为什么第一个失败了。
it "sets session when" do
post :create, {:user => valid_attributes}, valid_session
expect(session[:user_id]).to eq(User.find_by(email: valid_attributes["email"]).id)
end
【问题讨论】:
标签: ruby-on-rails ruby rspec rspec-rails