Saya sedang menguji pengontrol saya dan melakukan sesuatu seperti ini:
bar = SuperDuper.calculate(resource)
expect(assigns(:foo)).to eq(bar)
Saya mendapatkan ini sebagai hasilnya
expected: #<ActiveRecord::Relation []>
got: #<ActiveRecord::Relation []>
(compared using ==)
Mengapa RSpec menganggap ini sebagai kegagalan?
Seperti yang Anda lihat, saya menggunakan eq
yang mengabaikan identitas objek, bukan equal
yang membandingkan identitas objek.
eq
yang membandingkan nilai, bukan menggunakanequal
yang membandingkan identitas objek - person Mohamed Anwer   schedule 23.08.2016expect(assigns(:foo).to_a).to eq(bar.to_a)
atauexpect(assigns(:foo).to_sql).to eq(bar.to_sql)
. - person Dave Schweisguth   schedule 24.08.2016