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

luk*_*nis 9 javascript jasmine

考虑一下这种情况:

var a = {
  b: {
    c: function() {}
  }
}
Run Code Online (Sandbox Code Playgroud)

我想窥探c,虽然这很简单:

spyOn(a.b, 'c');
Run Code Online (Sandbox Code Playgroud)

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

我怎样才能窥探嵌套方法?

UPDATE

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

zby*_*our 5

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

小心外壳:茉莉花功能是toHaveBeenCalled(). 因为你写tohaveBeenCalled()的错误信息是有道理的(因为没有这样的方法)。JavaScript 区分大小写 :-)