【发布时间】:2013-08-22 13:07:18
【问题描述】:
有没有可能做类似ServiceObject.should_receive(:foo).with(:bar).and_call_original.exacly(1).times的事情?
我的规格看起来像这样:
it 'should call instance of service object\'s :baz! method' do
ServiceObject.any_instance.should_receive(:baz!).exactly(1).times
end
it 'should call service object\'s :foo method' do
ServiceObject.should_receive(:foo).with(:bar).and_call_original.exacly(1).times
end
如果我删除 and_call_original 第一个规范失败。如果我在第二个规范中注释掉.exacly(1).times,那么两个规范都会通过。
两个问题:
- 为什么这两个规范会相互干扰?
- 有没有办法调用表示
.should_receive(:foo).with(:bar).and_call_original.exacly(1).times的东西?
提前致谢!
【问题讨论】:
标签: ruby-on-rails ruby rspec matcher