我是 RSpec 的新手,所以请耐心等待。我有一个带有订单的对象,我正在对该对象存根方法。我在该对象上调用另一个方法,然后调用我正在存根的方法(并且该存根似乎正在工作,因为我在所述方法调用周围放置了调试器并正确返回。另外,我在实际方法中投入了一个调试器调用;那没有被击中,所以它似乎是存根好了)。
但是当我打电话给@order.should_receive 时,我得到“预期的:blah_method with (any args) 一次,但收到了 0 次。”
我不确定为什么 should_receive 不起作用,也不确定我做错了什么。有什么帮助吗?顺便说一句,我在 RSpec 1.3.2 上。
it 'should be called when blah blah blah' do
@order.stub!(:blah_method).and_return true
#import_foobar_order calls @order.blah_method
#order_hash is irrelevant here, just a json obj converted to a hash
@order.import_foobar_order(@order, order_hash, website)
@order.should_receive(:blah_method).at_least(:once)
end