所以我基本上是在尝试编写 rspec 来测试我的 json 结果:
patient_allergies = patient.patient_allergies
expect(response_body['allergies'].size).to eq(patient_allergies.size)
patient_allergies.each_with_index do |allergy, index|
expect(response_body['allergies'][index]['name']).to eq(allergy.name)
allergy.patient_allergy_reactions.each_with_index do |reaction, index|
expect(response_body['reactions'][index]['name']).to eq(reaction.name)
end
end
我上面的表格是 patient_allergies 和 patient_allergy_reactions。
上述测试工作正常。但问题是我正在按索引进行比较。
如果 json 的顺序发生变化,测试将失败。有没有更好的方法来为此编写测试?我的 json 看起来像这样:
"allergies": [
{
"name": "Allergy1",
"reactions": [
]
},
{
"name": "Allergy2",
"reactions": [
{
"name": "Reaction1",
"severity": "Medium"
}
]
}
],