如何监视jQuery的追加函数Sinon

dav*_*avy 3 javascript jquery sinon

我试图用来sinon.js创建一个间谍jQuery.append功能.

我试过:var spy = sinon.spy($, "append");并得到以下错误: TypeError: Attempted to wrap undefined property append as function.

然后我修改为:var spy = sinon.spy($.fn, "append");看起来更好,但是spy.called错误.

Mic*_*ics 11

Sinon.spy(object, "method")期望第一个参数的对象,但是$是一个函数.你应该$.prototype像这样监视:

var spy = sinon.spy($.prototype, "append");
Run Code Online (Sandbox Code Playgroud)

小提琴:http://jsfiddle.net/RZ825/

或者你可以像这样间谍单个对象:

var spy = sinon.spy($("body"), "append");
Run Code Online (Sandbox Code Playgroud)

小提琴:http://jsfiddle.net/G5J8H/