如何检查
$("#myElement").change();
被调用?
我已经尝试了
spy = sinon.spy($("#myElement"), "change");
然后
expect(spy).toHaveBeenCalled();
答案 0 :(得分:0)
您可以通过保持对它的引用来“覆盖”jquery的更改功能,然后用您自己的函数替换原始引用。新函数完成后,确保通过function.apply()调用正确的上下文(即 this )来调用原始函数,如下所示:
var oldChange = $.fn.change;
$.fn.change = function(args) {
console.log("change triggered", args);
oldChange.apply(this,args); };
}
不确定这是否是最佳做法。还有其他人在乎这个吗?