web-dev-qa-db-ja.com

testacularを使用したブラウザでのデバッグ(現在のカルマ)

ユニットテストを壊したときにデバッグする最良の方法を見つけようとしています。通常、以前のテスト環境では、ブラウザーでテストを実行し、テストまたはコードをブレークポイントして、テストが失敗した理由を確認できました。 testacularでそれを行う方法がわかりません。単体テストをデバッグする簡単な方法はありますか?

50
Lucas

「ブラウザ= ['Chrome'];」を含めるkarma.configファイルで。

Chromeが開くと、上部に[Karma-connected]が表示され、右上に[Debug]ボタンが表示されます。

このデバッグボタンをクリックすると、「Karma DEBUG RUNNER」タブが開きます。次に、右クリックして要素を検査し、通常どおりにデバッグします。

47
Josh Noe
  1. karma.conf.js

    browsers = ['Chrome'];
    
  2. あなたの失敗した仕様で:

    it('spec', function() {
        debugger; // This is like setting a breakpoint
        // ...
    });
    
  3. Karmaを実行します。
  4. 新しく開いたChromeブラウザに移動し、コンソールを開いてページを更新します。

これで、Chromeの[開発ツール]ソースタブに、デバッガーで実行が停止したことが表示されます。

67
Tomas Romero

コードを変更する必要のない次のデバッグ方法を見つけました(「debugger」ステートメントの追加など)

Karma構成ファイルで「singleRun」をfalseに設定します。これにより、karmaはデバッグポートでリッスンし、ブラウザーでテストを再度実行して、以下のURLを起動してデバッグできます。

キャプチャされたブラウザに移動し、「デバッグ」ボタンをクリックします(またはhttp://localhost:9876/debug.html)Webインスペクタを使用して、何が起こっているのかを確認します。 (Webインスペクタが開いたら、debug.htmlページを更新する必要があります。)

9
Naga Kiran

コンソールで、どのit()ステートメントが壊れているか、その理由を通知する必要があります。例えば:

Todos Add a new todo should add a new todo FAILED
expected todo.length to be 1 but was 0

ただし、設定すると便利な場合があります

logLevel = LOG_DEBUG;

karma.conf.jsファイルで。

0
Shadowedged