[英]Vue test coverage with Jest only checks imports
我正在使用jest
和vue-test-utils
测试我的 vue.js 2 项目,测试工作正常,但是当我尝试测量.vue
文件的覆盖率时遇到问题。
问题是,当我执行jest --coverage
时,我在这些文件中获得了 100% 的覆盖率,但是如果我进入检查哪些行是覆盖率,我看到只有导入检查了 Jest 覆盖率,其余代码否(您可以在第二张图片中看到这一点。)
🗒 如果您需要更多信息,请给我点赞。 谢谢
这是我的package.json
(仅相关信息):
"scripts": {
"test": "jest --coverage",
},
"dependencies": {
"core-js": "3.20.3",
"single-spa-vue": "2.5.0",
"systemjs-webpack-interop": "2.3.7",
"vue": "2.6.14",
"vue-i18n": "8",
"vue-router": "3.5.2"
},
"devDependencies": {
"@vue/cli-plugin-unit-jest": "~4.5.19",
"@vue/cli-service": "~4.5.19",
"@vue/test-utils": "^1.3.0",
"babel-jest": "^26.6.3",
"jest": "^26.6.3",
"jest-junit": "^13.0.0",
"jest-transform-stub": "^2.0.0"
}
And my `jest.config.js`:
```
const alias = require("./aliases.config");
module.exports = {
moduleFileExtensions: ["js", "vue", "json"],
transform: {
"^.+\\.js$": "babel-jest",
"^.+\\.vue$": "vue-jest",
".+\\.(css|styl|less|sass|scss|jpg|jpeg|png|svg|gif|eot|otf|webp|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga|avif)$":
"jest-transform-stub",
},
preset: "@vue/cli-plugin-unit-jest",
testPathIgnorePatterns: ["/node_modules/"],
modulePathIgnorePatterns: ["/node_modules/"],
testMatch: ["**/tests/unit/**/*.(unit|test|spec).js"],
collectCoverage: false,
collectCoverageFrom: [
"<rootDir>/src/**/*.{vue,js}",
"!<rootDir>/src/main.js",
"!<rootDir>/src/set-public-path.js",
"!<rootDir>/src/router/index.js",
],
coverageDirectory: "reports/unit-reports/coverage",
coverageReporters: ["text-summary", "html", "cobertura"],
moduleNameMapper: {
...alias.forJest,
"@divilo/styleguide-base-front":
"<rootDir>/tests/mocks/styleguide-base-front.js",
"@divilo/api-mfes-front": "<rootDir>/tests/mocks/api-mfes-front.js",
},
coverageProvider: "babel",
coverageThreshold: {
global: {
branches: 80,
functions: 80,
lines: 80,
statements: -10,
},
},
reporters: [
"default",
[
"jest-junit",
{
outputDirectory: "reports/unit-reports/tests",
outputName: "junit.xml",
},
],
],
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.