我目前正在为我的web应用程序编写测试,并且遇到了一些出于我的智能范围。Ruby on Rails - rspec验证失败:类必须存在
上下文: 我正在测试UserController的“show”方法。但是,用户与类Face有1:1的关系。
以下是测试show方法的代码。
it "assigns the requested user as @user" do
face = Face.create(:id => 1)
user = User.create! valid_attributes
get :show, params: {id: user.to_param}, session: valid_session
expect(assigns(:user)).to eq(user)
end
end
let(:valid_attributes) { { "lastName" => "lname", "firstName" => "fname", "face_id" => 1 } }
当我运行rspec的这里是错误控制台:
Failure/Error: user = User.create! valid_attributes
ActiveRecord::RecordInvalid:
Validation failed: Face must exist
如何来面对不存在如果我创造了它?
你可以发表脸和用户模型?也许脸上除了id之外还需要别的东西 – linnal
你在中间击中它。这个问题确实在面子课上。它需要一个额外的财产。我觉得很奇怪,它没有在控制台中记录它。谢谢linnal。 – MasterJohn
为什么要将'id'自己分配给Face对象? –