2012-01-04 4 views
2

私はテストのためにjQuery 1.5とQ-Unitを使用しています。ユニットテスト中にdocument.ready()関数を防止する

-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(); 
}); 
... 

準備を実行:

私が働いているアプリケーションは、レディ機能といくつか他のものを使用してアプリケーションのランナーとして動作するファイルを、持っています()関数は私の単体テストで浮動したくないオブジェクトの束を作成しますが、私はまだfoo.bar()とMain.jsの他の関数をテストする必要がありますready()コールバックをオーバーライドできますか?または、一般的にはよりよい解決策がありますか?ありがとう!あなたがこれを行うことができます

+2

http://api.jquery.com/jQuery.holdReady/ – Esailija

+0

よかった。それは素晴らしい機能です。私は実際に明日に1.7にアップグレードするために先に進んでいるので、これはうまくいくはずです。ありがとう! – stinkycheeseman

答えて

2

jQueryのファイルがロードされた後に、あなたがもしそのユニットテストをチェックし、この

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

を適用しかし、単にテストするときにそれを使用することができます。

関連する問題