2016-09-16 8 views
1

上の機能を呼び出すためにコードカバレッジはその行をカバーしません。 以下のテストケースは正常に動作しますが、最後のコード行とウィンドウロード時の関数の初期化のみが含まれます。テストケースは、私のJSコードを以下に記載されてDocument.ready

test("initialize test", 1, function() { 
    var result = IPL.Register.Print.initialize(); 
    equal(undefined, result, "passed"); 
}); 

ドキュメントの読み込み時に関数を実行するためのテストケースを書く方法をお手伝いしてください。

+0

どのようなテストをしたいですか?単体テストはdocument.readyイベントに依存すべきではありません。 e2eテストが必要な場合は、[selenium](http://www.seleniumhq.org/)のようなものを試すことができます – Anticom

+0

私はコードカバレッジのパーセンテージを改善したいだけです。 – Raj

答えて

0

これを行う最善の方法は、loadイベントをまったくテストしないことです。イベントハンドラを名前付き関数に置き、その関数の動作をテストするだけです。

/// <summary>Declare Namespace IPL.Register.Print</summary> 
IPL.Register.Print = { 
    /// <summary>Function to call on initialize page.</summary> 
    initialize: function() { 
    window.onload = function() { 
     window.print(); 
    }; 
    }, 
    print: function() { 
    window.print(); 
    } 
}; 

test("initialize test", 1, function() { 
    var result = IPL.Register.Print.print(); 
    equal(undefined, result, "passed"); 
}); 

http://jsfiddle.net/Tintin37/vpqjsr8L/

はloadイベントがちょうどあなたの関数を実行し、あなたはloadイベントをテストすることによって達成特に何をしたいですか?

関連する問題