考虑一下这种情况:
var a = {
b: {
c: function() {}
}
}
我想监视c,虽然这很容易:
spyOn(a.b, 'c');
然而,它创造了一个间谍,但它不起作用。没有显示任何错误,我可以看到调试时有间谍。
如何监视嵌套方法?
更新
输出为:Object [object Object] has no method 'tohaveBeenCalledWith'
答案 0 :(得分:4)
我猜错字是问题;监视嵌套函数的效果很好,如您所述。
小心套管:Jasmine功能为toHaveBeenCalled()
。由于您编写了tohaveBeenCalled()
,因此错误消息是有意义的(因为没有这样的方法)。 JavaScript区分大小写: - )