我有一个vue应用程序,该应用程序已安装了jest作为测试框架。笑话配置位于package.json文件中。看起来像:
"jest": {
"moduleFileExtensions": [
"js",
"jsx",
"json",
"vue"
],
"transform": {
"^.+\\.vue$": "vue-jest",
".+\\.(css|styl|less|sass|scss|svg|png|jpg|ttf|woff|woff2)$": "jest-transform-stub",
"^.+\\.jsx?$": "babel-jest"
},
"moduleNameMapper": {
"^@/(.*)$": "<rootDir>/src/$1"
},
"snapshotSerializers": [
"jest-serializer-vue"
],
"testMatch": [
"**/tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)",
"**/tests/unit/**/*.test.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)"
],
"testURL": "http://localhost",
"collectCoverage": true,
"collectCoverageFrom": [
"!**/node_modules/**",
"**/*.{js,vue}"
],
"coverageDirectory": "../coverage",
"coverageReporters": [
"html",
"text-summary"
]
}
这些是我使用vue cli安装vue应用程序时的默认设置。
我在测试运行终端后遇到问题,说正在运行未经测试的文件的覆盖范围……然后它会永远挂在那里。
如果我从collectCoverageFrom的"**/*.{js,vue}"
中删除了js位,使其为"**/*.{vue}"
,则不会发生此问题,并且覆盖率报告将完成。
有人有这个问题的经验吗?是否需要任何配置设置来防止此问题?