Angular CLIおよびVSコードを使用していますが、ng testを実行したときにspecファイルのブレークポイントがヒットしていません。
構成を行う必要がありますか?
VSCode(1.14.0)の新しいリリースでは、次のようになります recipe :
Angularアプリを完全にデバッグできます(単体テストを含む)。レシピは簡単です。
何らかの理由で_karma_webpack_
プレフィックスがあるため(バージョン7にはありませんでした)、.vscode/launch.json
にpathMapping
セクションを追加する必要がありました。
{
"type": "chrome",
"request": "attach",
"name": "Unit tests",
"address": "localhost",
"port": 9333,
"sourceMaps": true,
"webRoot": "${workspaceRoot}",
"pathMapping": {
"/_karma_webpack_": "${workspaceRoot}"
}
},
これは、Windows 7でAngular CLI 1.0。*およびChromeを使用して機能したものです。
プロジェクトのルートディレクトリでkarma.conf.js
を開きます。 singleRun: false
の直後に,
を追加し、このセクションを続けます:
customLaunchers: {
ChromeDebug: {
base: 'Chrome',
flags: [ '--remote-debugging-port=9333' ]
}
}
構成を.vscode/launch.json
に追加します。
{
"type": "chrome",
"request": "attach",
"name": "Unit tests",
"address": "localhost",
"port": 9333,
"sourceMaps": true,
"webRoot": "${workspaceRoot}"
},
ng test --browsers ChromeDebug
を実行します
Chromeブラウザが起動するまで待ちます。コマンドラインに次のようなものが表示されます。
01 06 2017 16:07:29.276:INFO [launcher]: Launching browser ChromeDebug with unlimited concurrency
.spec.ts
ファイルの1つにブレークポイントを設定します。
Visual Studio CodeでUnit tests
デバッグ構成を選択し、F5を押します([デバッグの開始]ボタン)。
Shift+Ctrl+F5
を押すか、Chromeウィンドウを更新して、テストを再実行し、ブレークポイントをヒットします。
Package.jsonを変更して、新しいスクリプトを追加することもできます。
"test-debug": "ng test --browsers ChromeDebug",
次に、デバッグを使用してng test
を起動したい場合は次を実行します。
npm run test-debug
参照:
他の回答に追加するだけです:
ng test
を実行します。ng test
を選択します。デバッグして実行したい場所に「デバッガ」を追加するだけです
ng test
chromeブラウザーが開いたら、開発ツールをオンにすると、「デバッガー」で停止します