我目前正在爲我的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對象? –