2016-02-25 9 views
9

私はangularjs 1.5とjspm setupでカルマとジャスミンをセットアップしています。まず、カルマからのすべてのエラーはシステムログからのもので、デバッグが難しくなります。私の約束のすべてが拒絶を処理しているにもかかわらず、多くの潜在的に未処理の拒否メッセージが出ています。カルマJSPM恐ろしいトレースログ

ERROR LOG: 'Potentially unhandled rejection [5] 
[email protected]://localhost:9020/base/jspm_packages/system-polyfills.src.js?3aa57969dce4ecea4c51aab540f372d15cc886b6:1252:34 
[email protected]://localhost:9020/base/jspm_packages/system-polyfills.src.js?3aa57969dce4ecea4c51aab540f372d15cc886b6:1211:18 
[email protected]://localhost:9020/base/jspm_packages/system-polyfills.src.js?3aa57969dce4ecea4c51aab540f372d15cc886b6:999:20 
[email protected]://localhost:9020/base/jspm_packages/system-polyfills.src.js?3aa57969dce4ecea4c51aab540f372d15cc886b6:1109:28 
[email protected]://localhost:9020/base/jspm_packages/system-polyfills.src.js?3aa57969dce4ecea4c51aab540f372d15cc886b6:166:22 
[email protected]://localhost:9020/base/jspm_packages/system-polyfills.src.js?3aa57969dce4ecea4c51aab540f372d15cc886b6:131:15' 
ERROR LOG: 'Potentially unhandled rejection [6] 
[email protected]://localhost:9020/base/jspm_packages/system-polyfills.src.js?3aa57969dce4ecea4c51aab540f372d15cc886b6:1252:34 
[email protected]://localhost:9020/base/jspm_packages/system-polyfills.src.js?3aa57969dce4ecea4c51aab540f372d15cc886b6:1211:18 
[email protected]://localhost:9020/base/jspm_packages/system-polyfills.src.js?3aa57969dce4ecea4c51aab540f372d15cc886b6:999:20 
[email protected]://localhost:9020/base/jspm_packages/system-polyfills.src.js?3aa57969dce4ecea4c51aab540f372d15cc886b6:1109:28 
[email protected]://localhost:9020/base/jspm_packages/system-polyfills.src.js?3aa57969dce4ecea4c51aab540f372d15cc886b6:166:22 
[email protected]://localhost:9020/base/jspm_packages/system-polyfills.src.js?3aa57969dce4ecea4c51aab540f372d15cc886b6:131:15' 

    MyService 
     ✗ should do the thing 
    Expected 3 to equal 2. 
    [email protected]/var/www/html/loyaltyone/src/jspm_packages/system-polyfills.src.js:1252:34 
    [email protected]/var/www/html/loyaltyone/src/jspm_packages/system-polyfills.src.js:1211:18 
    [email protected]/var/www/html/loyaltyone/src/jspm_packages/system-polyfills.src.js:999:20 
    [email protected]/var/www/html/loyaltyone/src/jspm_packages/system-polyfills.src.js:890:17 


PhantomJS 2.1.1 (Linux 0.0.0): Executed 46 of 46 (1 FAILED) (0.205 secs/0.028 secs) 

私はそこにエラーのログを記録する方法がありますか?

答えて

0

私は同じものを見ていたPotentially unhandled rejection...エラーもあります。彼らはちょうどひどく、全く役に立たない。問題をデバッグするためには、phantomjsをデバッグモードにして、エラーで参照されるコード行の直前にdebugger;というステートメントを配置してから、ステップスルーして正確な問題を見つけ出すことができました。

ご迷惑をおかけいたしますが、ご了承ください。jspm_packages/system-polyfills.src.jsの1252行にエラーがスローされています。方法はtryCatchRejectです。デバッグ中に私はそうのようなdebugger;ステートメントを配置し、e.messageの値を表示します:

/** 
    * Return f.call(thisArg, x), or if it throws return a rejected promise for 
    * the thrown exception 
    */ 
    function tryCatchReject(f, x, thisArg, next) { 
     try { 
      next.become(getHandler(f.call(thisArg, x))); 
     } catch(e) { 
      debugger; 
      next.become(new Rejected(e)); 
     } 
    } 

karma-phantomjs-launcher readmeが同様にデバッグするためのphantomjsする権利フラグを渡すためにカルマを設定する方法の良い例を示しますいくつかの良い命令として:あなたはdebugオプションをtrueに設定した場合、あなたは AWを起動する

// karma.conf.js 
module.exports = function(config) { 
    config.set({ 
    browsers: ['PhantomJS', 'PhantomJS_custom'], 

    // you can define custom flags 
    customLaunchers: { 
     'PhantomJS_custom': { 
     base: 'PhantomJS', 
     options: { 
      windowName: 'my-window', 
      settings: { 
      webSecurityEnabled: false 
      }, 
     }, 
     flags: ['--load-images=true'], 
     debug: true 
     } 
    }, 

    phantomjsLauncher: { 
     // Have phantomjs exit if a ResourceError is encountered (useful if karma exits without killing phantom) 
     exitOnResourceError: true 
    } 
    }) 
} 

を指示されますebブラウザでデバッガを起動します。デバッガ を置くことに注意してください。ブレークポイントにヒットするJavaScriptのステートメント テストコードとクライアント コードの両方にブレークポイントを入れることができます。 debugオプションは、 --remote-debugger-port = 9000および--remote-debugger-autorun = yesスイッチをPhantomJSに自動的に追加することに注意してください。

テストの実行を開始すると、http://localhost:9000/webkit/inspector/inspector.html?page=2に移動するように求めるメッセージが表示されます。ここで、デバッグを有効にして、コードをステップ実行できます。

関連する問題