最近、自分のコードベースにカスタムグローバルエラーハンドラを実装しました。私はQUnit + Sinonスイートでその動作をテストしたかったのです。しかし、これは動作していないよう:QUnit/Sinonでwindow.onerrorをテストする
QUnit.test("It should fire an ajax request on errors", function(assert) {
var done = assert.async();
var myOnerror = window.onerror;
window.onerror = function(msg, url, line, col, error) {
myOnerror(msg, url, line, col, error);
//Some assertions on myOnerror execution
done();
};
banana(); //Trigger an error to have window.onerror execute
});
banana()
呼び出しによって引き起こさReferenceError
が実際に故障してテスト実行を停止しQUnit自体によってキャッチされているので。
私自身でエラーを処理したい、または手動でエラーを投げて、自分のwindow.onerror
がQUnitの代わりに呼び出されるようにする方法はありますか?
エラーが発生したときにwindow.onerrorが呼び出されることは実際には無意味なので(設計によって保証されるはずです)、実際にテストされるものは何ですか? myOnError'はやっています....ありがとう! – Raibaz