rspec产量块,但调用原始

时间:2014-10-14 17:33:46

标签: ruby unit-testing rspec block yield

所以我有以下内容:

foo.each do |f|
  f.begin
    do_stuff
    do_more_stuff
  end
end

我使用and_yield()调用来模拟f对象。我希望能够通过传递原始块{do_stuff do_more_stuff}来测试begin方法,而不是模拟实现....我不能在模拟上调用begin方法而不至少对其进行存根,那么做什么呢我做?

1 个答案:

答案 0 :(得分:6)

再一次,我找到了一个未记录的功能:

allow(thing).to receive(:foo) do |_, &block|
  block.call
end
感叹......