是否可以做类似
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
的东西?提前致谢!
and_call_original
不会返回当前的 example
,因此无法工作。
相反,你可以这样做:
.should_receive(:foo).with(:bar).exactly(1).times.and_call_original