2013-10-29 31 views
2

我磕碰這樣的方法在我的測試中採用摩卡存根方法,無需任何期望

def setup 
    super 
    #blah, blah 
    GoogleIdentity.stubs(:new).with(google_identity).returns(google_account) 
    end 

一個的設置的問題是,不是每個測試將調用方法和返回的對象。

在不調用該方法的方法,我得到這個錯誤:

allowed any number of times, not yet invoked: GoogleIdentity.new()

好像摩卡抱怨因爲該方法已經不被調用。

如何指定一個不指望它爲calle的存根?

+0

摩卡改變了嗎? 「一個存根就是對零個或多個調用的期望。」 http://gofreerange.com/mocha/docs/ – mahemoff

回答

3

我認爲摩卡的執行被打破了。名爲stubs的方法不應該關心是否被調用。這應該是mocks方法的責任。

這種行爲是我不再使用摩卡的事情之一。

從我記得在解決這個問題時,我使用了expectations之一來處理這種情況,如at_most(1)

+1

我同意,對存根的期望是不正確的。 – dagda1

+0

而你現在使用什麼呢? – sekrett