如何解决如何为 .vue 文件配置代码覆盖率?
我正在使用 mocha 进行单元测试并希望添加代码覆盖率。为此,我添加了 nyc、istanbul-instrumenter-loader 和 babel-plugin-istanbul,它适用于 js 文件,但对于 .vue 文件会出现错误:“TypeError:无法读取未定义的属性‘fileCoverage’”。请帮帮我
package.json
{
"name": "ZINGUI","version": "1.0.0","description": "ZINGWHEEEE","author": "John Matos <rDr4g0n@gmail.com>","private": true,"browserslist": [
"defaults"
],"workspaces": [
"packages/z-common","packages/z-search","packages/z-ui","packages/z-admin-module","packages/z-smartviewz-module","packages/z-theme","packages/z-dashboard-module","packages/z-dashboard-base-tiles","packages/z-events-module","packages/z-user-module","packages/z-mock-client","packages/z-catalog"
],"scripts": {
"dev": "yarn run z-ui","z-ui": "yarn run --cwd=packages/z-ui dev","watch": "node scripts/watch.js","build": "npm-run-all lint test build-ui","build-ui": "yarn run --cwd=packages/z-ui build","lint": "yarn workspaces run lint","test": "yarn workspaces run test","test:coverage": "nyc yarn run test","bootstrap": "yarn install","clean": "yarn workspaces run clean && rm -rf node_modules","add-package": "cd packages && vue init ../scripts/package-template","playground": "yarn run --cwd=playground playground",},"dependencies": {
"@vue/composition-api": "^0.3.4","atob": "^2.1.0","cryptiles": "^4.1.2","dot-prop": "^4.2.1","fstream": "^1.0.12","graphql": "^0.13.2","sshpk": "^1.13.2","stringstream": "^0.0.6","vue": "^2.6.6","vue-router": "3.0.1","vuetify": "2.4.0","vuex": "^3.5.1","clone": "^2.1.2","cookies-js": "^1.2.3","d3": "^5.7.0","d3-format": "^1.4.3","deep-equal": "^2.0.1","deepmerge": "^4.2.2","graphql-tag": "^2.10.3","humanize": "^0.0.9","humanize-duration": "^3.22.0","moment": "^2.24.0","throttle-debounce": "^2.2.1","yamr-js": "zenoss/yamr-js#4.6.2","z-admin-module": "^1.0.0","z-catalog": "^1.0.0","z-common": "^1.0.0","z-dashboard-module": "^1.0.0","z-events-module": "^1.0.0","z-mock-client": "^1.0.0","z-search": "^1.0.0","z-smartviewz-module": "^1.0.0","z-theme": "^1.0.0","z-user-module": "^1.0.0","z-in-time": "zenoss/z-in-time#1.1.7"
},"devDependencies": {
"chai-sorted": "^0.2.0","backstopjs": "^4.5.0","babel-plugin-istanbul": "^6.0.0","chai": "^4.1.2","core-js": "3","chokidar": "^2.0.1","eslint": "^4.19.1","eslint-config-airbnb-base": "^13.0.0","eslint-friendly-formatter": "^3.0.0","eslint-import-resolver-webpack": "^0.8.3","eslint-loader": "^2.0.0","eslint-plugin-import": "^2.20.0","eslint-plugin-vue": "^6.2.2","eslint-plugin-vuetify": "^1.0.0-beta.7","inject-loader": "^4.0.1","istanbul-instrumenter-loader": "^3.0.1","jsdom": "^11.12.0","jsdom-global": "^3.0.2","mocha": "^5.2.0","mocha-webpack": "2.0.0-beta.0","npm-run-all": "^4.1.2","nyc": "^15.1.0","sinon": "^6.1.4","sinon-chai": "^3.2.0","webpack-merge": "^4.1.0","webpack-node-externals": "^1.7.2","yargs": "^15.1.0"
}
}
.babelrc
{
"env": {
"development": {
"presets": [
["env",{ "modules": false }],"stage-3"
]
},"production": {
"presets": [
["env","test": {
"presets": [
["env",{
"modules": false,"targets": { "node": "current" }
}],"stage-3"
],"plugins": [
["istanbul",{
"exclude": [
"**/*.spec.js"
]
}]
]
}
}
}
webpack.base.conf.js
{
test: /\.js$|\.vue$/,use: {
loader: "istanbul-instrumenter-loader",options: { esModules: true }
},enforce: 'post',exclude: /node_modules|\.spec\.js$/
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。