【发布时间】:2014-06-22 11:00:34
【问题描述】:
如何存根在控制器中获取的模型?
例子:
# Model Spec
it 'does something' do
allow(model).to receive(:value).and_return 100
model2 = FactoryGirl.create :model
allow(model2).to receive(:value).and_return 99
# next line fails because it returns 100. when fetched, model2.value = 0
expect(model.subtract_last_model).to eq 1
end
# Model
def subtract_last_model
value - Model.last.value
end
我需要能够存根 model2 aka Model.last 以返回 99。
当然,我可以编写以下代码,然后编写规范以查看是否使用正确的参数调用它,但我很好奇是否还有其他方法:
def subtract_model(model)
value - model.value
end
【问题讨论】:
标签: ruby-on-rails ruby rspec