私のレールアプリケーションでは、Service、Request、およびServiceRequestモデルがあります。"[Class_Name]が存在する必要があります" rails 5 rspec testing associations
関連付けは、servicerequestsがServiceとRequestの両方に属しているようなものです。
require "rails_helper"
describe Servicerequest, :type => :model do
subject {
described_class.new(userid: 'bbogus', status: 'new', request_id: 1, service_id: 3)
}
it "is valid with valid attributes" do
expect(subject).to be_valid
end
it "is not valid without a userid" do
subject.userid = nil
expect(subject).to_not be_valid
end
it "is not valid without a status" do
subject.status = nil
expect(subject).to_not be_valid
end
it "is not valid without a request_id" do
subject.request_id = nil
expect(subject).to_not be_valid
end
it "is not valid without a service_id" do
subject.service_id = nil
expect(subject).to_not be_valid
end
it { should belong_to(:request)}
it { should belong_to(:service)}
end
とのServiceRequestモデルで
:1) Servicerequest is valid with valid attributes
Failure/Error: expect(subject).to be_valid
expected #<Servicerequest id: nil, created_at: nil, updated_at: nil, userid: "bbogus", status: true, request_id: 1, service_id: 3> to be valid, but got errors: Request must exist, Service must exist
# ./spec/models/servicerequest_spec.rb:10:in `block (2 levels) in <top (required)>'
:何らかの理由Foの
class Servicerequest < ApplicationRecord
validates_presence_of :userid, :status, :request_id, :service_id
belongs_to :request, class_name: "Request"
belongs_to :service, class_name: "Service"
end
は、私のテストは、この文で失敗RSpecのでのServiceRequestsをテストする場合
、私はこれを持っています
私のテストにRequest must exist. Service must exist.
の部分を渡すにはどうすればよいですか?
ありがとうございました。完璧に働いた。 – Avir94
私は同様のエラーがあり、これは完全に動作します。こちらこそありがとう! – nrmb