是否可以执行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
的内容?提前致谢!
答案 0 :(得分:3)
and_call_original
不会返回当前example
,因此无效。
相反,你可以这样做:
.should_receive(:foo).with(:bar).exacly(1).times.and_call_original