Visual Studio Code拡張のjest runnerでenv-cmdの環境変数を読んで単体のテストのみを実行する
Feb 14, 2021
【概要】
- vscode拡張のjest runnerを使うと、簡単に単独のテストを実行できる。
- env-cmdで環境変数を設定していると、ちょっとだけ設定しないと思い通りに動かないがので、その設定をする。
【env-cmd】
// package.json"scripts": {
"start": "node src/index.js",
"dev": "env-cmd -f ./config/dev.env nodemon src/index.js",
"test": "env-cmd -f ./config/test.env jest"
},
"jest": {
"testEnvironment": "node"
},
...
こんな感じで環境変数を設定しているファイルがどこにあるかを指定している。コマンドラインで npm run test
と実行すれば問題なくjestが実行できる。
何も設定をせずに jest runner
から実行すると環境変数を読み込まないのでエラーになってしまう。
17行目でエラー。
ドキュメントに従ってvscodeの settings.json
で読み込むscriptを指定する。
{
"jestrunner.jestCommand": "npm run test"
}
これでjest runnerを実行すると、今度はすべてのテストが実行されてしまう。
githubも見てみるとそれっぽい答えがあった。
// settings.json{
"jestrunner.jestCommand": "npm run test --"
}
これでOK
念の為npm scriptも実行。全てのテストが実行される。