考虑这种常见情况:
var a = {
b: {
c: function() {}
}
}
我想监视 c,虽然它很容易:
spyOn(a.b, 'c');
但是它创建了一个 spy 但它不起作用。没有显示任何错误,调试时我可以看到有一个 spy 。
如何监视嵌套方法?
更新
输出为:Object [object Object] 没有方法 'tohaveBeenCalledWith'
最佳答案
我猜错字是问题所在;正如您概述的那样,监视嵌套函数效果很好。
注意大小写:Jasmine 函数是toHaveBeenCalled()
。由于您编写了 tohaveBeenCalled()
错误消息是有意义的(因为没有这样的方法)。 JavaScript 区分大小写:-)
关于javascript - 如何监视 Jasmine 中的嵌套方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17617504/