2016-02-12 53 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