毫无需求地使用mocha到stub方法

时间:2013-10-29 18:16:22

标签: ruby mocha

我在我的一个测试设置

中存在这样的方法
  def setup
    super
    #blah, blah
    GoogleIdentity.stubs(:new).with(google_identity).returns(google_account)
  end

问题是并非每个测试都会调用该方法并返回该对象。

在不调用该方法的方法中,我收到此错误:

  

允许任何次数,尚未调用:   GoogleIdentity.new()

似乎mocha抱怨,因为没有调用该方法。

如何指定不期望它为calle的存根?

1 个答案:

答案 0 :(得分:3)

我认为摩卡的实现被打破了。名为stubs的方法不应该关心被调用。这应该是mocks方法的责任。

这种行为是我不再使用mocha的事情之一。

根据我在修复此问题时的记忆,我使用其中一个expectations来处理此方案,例如at_most(1)