VSCode でvscode-jestプラグインを導入すると、一々ターミナルでテストを実行しなくても、現在開いているテストファイルでテストケース毎にvscode-jest結果を表示してくれます。
debug モード
テストに失敗するとテストケースの前にx
印が付きdebug
というリンクが表示されます。これをクリックするとデバグモードでそのテストケースが実行されるので、簡単に詳細を調べれます。
monorepo プロジェクトで debug モードを使う
vscode-jest
は各ワークスペースにあるnode_modules/jest/bin/jest
を使おうとしますが、monorepo
系のプロジェクトでは共通モジュールはまとめてワークスペースルートのnode_modules
へ入ってしまい、デフォルトではうまく動作しません。
これを解決するにはyarn
のworkspaces
設定にnohoist
設定を追加します。nohoist
にパッケージ名のパターンを置くことで、それにマッチするパッケージは各ワークスペースのnode_modules
へ置かれるようになります。
ということでpackage.json
のworkspaces
以下はこのようにします。
{
"workspaces": {
"packages": [
"..."
],
"nohoist": [
"**/jest"
]
}
}