ฉันกำลังทดสอบคอนโทรลเลอร์ของฉันและได้ทำสิ่งนี้:
bar = SuperDuper.calculate(resource)
expect(assigns(:foo)).to eq(bar)
ฉันได้รับสิ่งนี้เป็นผล
expected: #<ActiveRecord::Relation []>
got: #<ActiveRecord::Relation []>
(compared using ==)
เหตุใด RSpec จึงมองว่านี่เป็นความล้มเหลว
อย่างที่คุณเห็นฉันใช้ eq
ซึ่งจะละเว้นข้อมูลประจำตัวของวัตถุ ไม่ใช่ equal
ซึ่งเปรียบเทียบข้อมูลประจำตัวของวัตถุ
eq
ซึ่งเปรียบเทียบค่า ไม่ใช้equal
ซึ่งเปรียบเทียบเอกลักษณ์ของวัตถุ - person Mohamed Anwer   schedule 23.08.2016expect(assigns(:foo).to_a).to eq(bar.to_a)
หรือexpect(assigns(:foo).to_sql).to eq(bar.to_sql)
- person Dave Schweisguth   schedule 24.08.2016