2013-07-12 69 views
8

考慮這種通常情況下:如何窺探茉莉花中的嵌套方法?

var a = { 
    b: { 
    c: function() {} 
    } 
} 

我想刺探c和雖然很容易搭配:

spyOn(a.b, 'c'); 

但是它創建了一個間諜,但它不工作。沒有顯示任何錯誤,我可以在調試時看到間諜。

我該如何窺探一個嵌套的方法?

UPDATE

輸出是:Object [object Object] has no method 'tohaveBeenCalledWith'

+0

可以解釋什麼是行不通的,因爲這是正確的做法。 –

+0

@AndreasKöberle當我做除了(a.b.c).haveBeenCalled()我得到對象[對象對象]沒有方法'tohaveBeenCalled' –

回答

2

我估計錯字的問題;監視嵌套函數的效果與您概述的一樣。

要小心套:茉莉花功能是toHaveBeenCalled()。既然你寫了tohaveBeenCalled()錯誤信息是有意義的(因爲沒有這種方法)。 JavaScript是區分大小寫的:-)