我正在尝试测试在方法调用链中是否有一个方法获取特定参数。例如,在下面的代码中,MyModel 必须接收方法的参数 0 offset
。不幸的是,下面的代码不起作用。似乎无法混合 should_receive 和 stub_chain。我怎么能解决这个问题?我正在使用 RSpec 2。
MyModel.should_receive(:offset).with(0).stub_chain(:tag_counts, :offset, :limit, :order).and_return([]) # does not work!
我正在尝试测试的代码:
tags = taggable.tag_counts.offset(page-1).limit(per_page).where(*where_clause).order("count DESC")
更新
我还在 RSpec Google Group 上发布了这个问题,David(RSpec 的创建者)回答了这个问题(感谢 David):http ://groups.google.com/group/rspec/browse_thread/thread/6b8394836d2390b0?hl=en