在单元测试时防止document.ready()函数



我使用jQuery 1.5和Q-Unit来做我的测试。

我正在工作的应用程序有一个文件,作为一个应用程序运行程序,有一个现成的函数和一些其他的东西:

-Main.js——

...
var foo = new Object();
foo.bar = function () {
   /* function I'd like to test */
}
foo.ready = function () {
   /* sets up the app. I don't want this to run in my test! */
}
$(document).ready(function(){
   foo.ready();
});
...

运行ready()函数创建了一堆我不想在单元测试中浮动的对象,但我仍然需要测试Main.js中的foo.bar()和其他函数。我可以重写ready()回调吗?还是有更好的解决方案?谢谢!

你可以这样做,在jQuery文件加载后,你可以检查它的单元测试,然后应用这个

$.fn.ready = function() { 
//any code here, or leave it blank and all ready method will call this method instead jQuery one 
}

最新更新