2016-02-12 44 views
1

我有一個方法Rspec的期望方法得到的ActiveRecord ::關係

foo(bars)

barsActiveRecord::Relation

在我的天賦我想斷言foo調用與bars但在規範bars只是一個陣列

let(:bar) { create(:bar) } 
let(:bars) { [bar] } 

expect(described_class).to receive(:foo).with(bars) 

有沒有什麼辦法爲了達成這個?我不能在控制器內存根bars,因爲我正在測試基於params通過的bars的過濾。

回答

0

而是僞造的酒吧,你可以檢查酒吧是您所期望的價值:

expect(described_class).to receive(:foo) do |bars| 
    # verify bars here. You could do bars.to_a and check the array 
    # or bars.to_sql and check the generated sql. 
end