デバッグ
TIP
テストをデバッグする際、ブレークポイントで停止中にテストがタイムアウトしないように、--test-timeout
CLI 引数を使用することを推奨します。
VSCode
VSCode でテストをデバッグする簡単な方法の一つは、JavaScript Debug Terminal
を使用することです。新しいJavaScript Debug Terminal
を開き、npm run test
またはvitest
コマンドを直接実行します。これは Node で実行されるコードであれば動作するため、ほとんどの JS テストフレームワークで利用可能です。
また、VSCode でテストファイルをデバッグするための専用の起動構成を追加することも可能です。
{
// 詳細については、https://go.microsoft.com/fwlink/?linkid=830387 を参照してください。
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Debug Current Test File",
"autoAttachChildProcesses": true,
"skipFiles": ["<node_internals>/**", "**/node_modules/**"],
"program": "${workspaceRoot}/node_modules/vitest/vitest.mjs",
"args": ["run", "${relativeFile}"],
"smartStep": true,
"console": "integratedTerminal"
}
]
}
次に、デバッグタブで「Debug Current Test File」が選択されていることを確認してください。その後、デバッグしたいテストファイルを開き、F5 キーを押してデバッグを開始できます。
IntelliJ IDEA
「Node.js」実行構成を作成し、デバッグモードですべてのテストを実行するために、以下の設定を使用します。
設定 | 値 |
---|---|
ワーキングディレクトリ | /path/to/your-project-root |
JavaScript ファイル | ./node_modules/vitest/vitest.mjs |
アプリケーションパラメータ | run --threads false |
その後、この構成をデバッグモードで実行します。IDE はエディタに設定した JS/TS のブレークポイントで停止します。
Node Inspector(例:Chrome DevTools)
Vitest は IDE を使用せずにテストをデバッグすることも可能です。ただし、並行実行はできません。Vitest を起動するには、次のいずれかのコマンドを使用します。
# シングルワーカーで実行する場合
vitest --inspect-brk --single-thread
# 子プロセスで実行する場合
vitest --inspect-brk --single-thread --no-threads
Vitest が起動すると実行を一時停止し、NodeJS inspectorに接続可能な開発者ツールの起動を待ちます。これには、ブラウザでchrome://inspect
を開いて Chrome DevTools を使用する方法があります。
ウォッチモードでは、--single-thread --isolate false
オプションを使用することで、テストを再実行する際にもデバッガーを維持できます。