作 ▸
WindowsでJestをファイル指定して起動するにはパスの区切り文字にスラッシュを使わないと
JestをCLIで叩くとき引数で対象ファイルを指定できるはずだが、何回やっても 0 matches
とか言われて動かなかった
Node.js v14.15.1jest 26.6.3
例えば↓こんなコマンドでファイル指定してJestを起動しようとしたが、これだとテスト対象が見つからない。
jest src\lib\hogehoge.spec.ts
No tests found, exiting with code 1
Run with `--passWithNoTests` to exit with code 0
In C:\dev\kiriukun
123 files checked.
testMatch: - 0 matches
testPathIgnorePatterns: \\node_modules\\ - 123 matches
testRegex: .+\.spec\.(tsx?|jsx?)$ - 3 matches
Pattern: src\lib\hogehoge.spec.ts - 0 matches
これでけっこう悩んだのに、理由が↓公式マニュアルに載っていたという
引数を付けて jestコマンドを実行した場合、その引数はプロジェクト配下のファイルを照合する正規表現として扱われます。
(省略)
Windows ではパスの区切りとして / を使用するか、 \ をエスケープして \ を使用する必要があります。
Windowsでコマンドプロンプトから叩いてたから当然のようにバックスラッシュ使っちゃってた
Tabキーでサジェストが効かなくて不便だが、スラッシュで区切るようにする
jest src/lib/hogehoge.spec.ts
これでちゃんと動く。