我正在使用SinonJS和QUnit运行以下代码:
var clock = this.sandbox.useFakeTimers();
var el = jQuery("<div></div>");
el.appendTo(document.body);
el.animate({ height: "200px", width: "200px" });
clock.tick(1000);
equals("200px", el.css("height"));
equals("200px", el.css("width"));
但是测试失败了,看起来jQuery正在使用真正的时钟而不是假时钟。
我使用的是Chrome 12.0.742.122。
有什么想法吗?
谢谢
答案 0 :(得分:1)
jQuery使用window.webkitRequestAnimationFrame或window.mozRequestAnimationFrame而不是setInterval。
如果在加载jQuery之前将window.mozRequestAnimationFrame设置为false,它将使用setTimeout并且SinonJS将正常工作。