jestでvueファイルのカバレッジが収集されない問題への対処
概要
最近になって Codecov というサービスを知ってテストのカバレッジに気を使うようになったのですが、Jestを使って*.vueのカバレッジを取ろうとしても無視されるような動作に悩まされていました。
(おそらくはv25など特定のバージョンに起因する問題)
2020年2月時点の話で、直近のアップデートで改善されると思われるものの
メモしておきます。
図: カバレッジにjsファイルは表示されても、vueファイルがカウントされない
TL;DR
vue-jestのIssue#217のコメントを参考に、以下を行いyarn test
を再実行したところ、カバレッジが収集されることを確認しました。
(1). パッケージのインストール
yarn add -D @vue/cli-plugin-unit-jest @vue/cli-service
(2). package.json(scriptsセクション)の編集
(自分のプロジェクトはLaravelが生成したpackage.jsonで、VueCLIを使用していなかったため)
# 変更前
"test": "jest",
# 変更後
"test": "vue-cli-service test:unit",
(3). yarn test
を再実行して確認
今度はvueファイルのカバレッジが取れていることを確認できます。
参考情報
各種バージョン
jest: 25.1.0
vue-jest: 3.0.5
この事象発生時のJestの設定
"jest": {
"globals": {
"Vue": true
},
"moduleFileExtensions": [
"js",
"json",
"vue"
],
"collectCoverage": true,
"collectCoverageFrom": [
"<rootDir>/resources/js/**/*.{js,vue}",
"!**/node_modules/**",
"!**/vendor/**"
],
"setupFiles": [
"./tests/js/setup.js"
],
"transform": {
"^.+\\.js$": "babel-jest",
"^.+\\.vue$": "vue-jest"
},
"moduleNameMapper": {
"^@/(.*)$": "<rootDir>/resources/js/$1"
}
}
Author And Source
この問題について(jestでvueファイルのカバレッジが収集されない問題への対処), 我々は、より多くの情報をここで見つけました https://qiita.com/tristar/items/0f17b8b8b332ad38dad7著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .