.should_receive理解

时间:2012-08-04 04:47:46

标签: ruby rspec2

我一直在关注rspec书籍以了解有关黄瓜和rpsec的更多信息。但我真正理解的是下面的这些行与评论:

messenger = mock("messenger").as_null_object
game.start(%w[a b c d])
messenger.should_receive(:puts).with("bbbb") # 1st line
game.guess(%w[a b c d]) # 2nd line

module Game
  #...
  def guess(guess)
    @messenger.puts "bbbb"
  end
end

我的问题是:我预计1个linw应该是第2个并且反向,就像我们说“游戏开始,如果你猜这个,那么你应该收到这个”,但它不会那样工作。

  1. should_receive是如何工作的?
  2. 是一个等待的观察者     在那里捕获什么标准输出?

1 个答案:

答案 0 :(得分:0)

.should_receive在所有语句执行完毕后查找调用。

相关问题