微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何为 .vue 文件配置代码覆盖率?

如何解决如何为 .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 举报,一经查实,本站将立刻删除。