我正在尝试使用sinon.js在jQuery.append函数上创建一个间谍.
我试过:var spy = sinon.spy($,“append”);并得到以下错误:TypeError:尝试将undefined属性包装为函数.
然后我修改为:var spy = sinon.spy($.fn,“append”);这似乎更好,但spy.called是错误的.
解决方法
Sinon.spy(object,"method")
期望第一个参数的对象,但$是一个函数.你应该监视$.prototype,如下所示:
var spy = sinon.spy($.prototype,"append");
小提琴:http://jsfiddle.net/RZ825/
或者你可以像这样间谍单个对象:
var spy = sinon.spy($("body"),"append");