を通じて私はこのような関係モデルを通じて多くを持っている必要がありますか? ので、私のテストで:RSpecのはhas_manyの#<ActiveRecordは::協会:: CollectionProxy>
let!(:physician) { create(:physician) }
let!(:patients) { create_list(:patients, 2) }
と私はこのでした:私は、私はそれが通過する期待していますが、それは失敗し、この
expect(physician.as_json).to eq({
"id" => physician.id,
"name" => physician.name,
"patients" => physician.patients
})
で生成されたJSONをテストしたい
before { physician.patients << patients }
をこのため#<ActiveRecord::Associations::CollectionProxy>
で確認しましたこのことにより:
physician.patients == patients
とtrue
は、あなたが私を助けていただけませんされた結果、私はここで何かが足りないのですか?ただcreate_list
への鍵を渡し医師と患者をリンクする
'physician.patients'はレコードの集合です。予想される** jsonデータ**と等しくはありません。これを書くには複数の方法がありますが、基本的にテストは間違っています。** json形式**を何とか定義して、期待される結果が得られるようにする必要があります。 –
'#as_json'という名前にもかかわらず、JSONではなく、シリアライズ可能なハッシュが返されます。そうでなければあなたのコメントは@TomLordにスポットです – max
ありがとう@TomLord私はすべてのあなたのコメントで私のケースを解決することができた。 – nrmb