2012-08-04 21 views
0

我一直在关注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. 是否有观察者在那里等待 并捕获弹出的stdout?

回答

0

.should_receive在全部语句执行完毕后寻找一个调用。