JestをCLIで叩くとき引数で対象ファイルを指定できるはずだが、何回やっても 0 matches とか言われて動かなかった
[ Node.js v14.15.1 / jest@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
これでちゃんと動く。