はじめに
Jestを勉強している間、ファイル名でスキップしたいファイルを制御できないのか気になり調べました。
例:ファイル名の先頭にアンダーバーがついたファイル(_sample.spec.jsなど)はテスト対象外にする
問題
jestの初期設定では、ファイル名でスキップすることはできません。
解決方法
jest.config.mjsにテストスキップしたいファイル名(今回の場合は、アンダーバーが先頭につくファイル名)を設定します。
export default {
testEnvironment: "jsdom",
moduleNameMapper: {
"\\.(css|less)$": "identity-obj-proxy",
},
setupFilesAfterEnv: ["./jest.setup.js"],
+ testPathIgnorePatterns: ["/node_modules/", "/_.*\\.spec\\.js$"],
};
testPathIgnorePatternsはデフォルトで["/node_modules/"]が設定されています。
今回testPathIgnorePatternsを明示的に指定したのでデフォルト設定が上書きされます。そのため、["/node_modules/"]も忘れず明記してください。
おわりに
今回"スキップ"という表現をしていますが、厳密にはテスト対象外にするファイルを指定しています。そのため、Jestの実行結果には、アンダーバーが先頭につくファイルをスキップしたことが表現されません。(テスト対象の分母として含まれていないからです)
なので、実際のテストの際はスキップしたことがわかるように、test.skipを使ってください。
参考
JISOUのメンバー募集中!
プログラミングコーチングJISOUでは、新たなメンバーを募集しています。
日本一のアウトプットコミュニティでキャリアアップしませんか?
興味のある方は、ぜひホームページをのぞいてみてください!
▼▼▼
