如何监视Jasmine中的嵌套方法?

时间:2013-07-12 14:38:37

标签: javascript jasmine

考虑一下这种情况:

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

我想监视c,虽然这很容易:

spyOn(a.b, 'c');

然而,它创造了一个间谍,但它不起作用。没有显示任何错误,我可以看到调试时有间谍。

如何监视嵌套方法?

更新

输出为:Object [object Object] has no method 'tohaveBeenCalledWith'

1 个答案:

答案 0 :(得分:4)

我猜错字是问题;监视嵌套函数的效果很好,如您所述。

小心套管:Jasmine功能为toHaveBeenCalled()。由于您编写了tohaveBeenCalled(),因此错误消息是有意义的(因为没有这样的方法)。 JavaScript区分大小写: - )