在 vuejs 中的 istanbul、mocha 和 vue-test-utils 的覆盖范围内找不到 .vue 文件

.vue file not found in the coverage with istanbul, mocha and vue-test-utils in vuejs

我用 vue-test-utils 测试我的 VueJS 应用程序。我想要报道。我使用 Istanbul 可以进行此覆盖。 覆盖范围内显示所有.js文件,但没有显示.vue文件。

编辑:@Vue/cli v.4.5.4 和 Vue v.2.6.12

我的nyc.config.js文件

module.exports = {
  'check-coverage': false,
  'per-file': true,
  'skip-full': true,
  all: true,
  include: ['src/**/*.{js,vue}'],
  exclude: [
    'src/*.js',
    '**/index.js',
    'src/plugins/*',
  ],
  reporter: ['lcov', 'text', 'text-summary'],
  extension: ['.js', '.vue'],
}

我的babel.config.js文件

module.exports = {
  presets: [
    '@vue/cli-plugin-babel/preset',
  ],
  env: {
    test: {
      plugins: [
        ['istanbul'],
      ],
    },
  },
}

我的package.json文件

"scripts": {
    ...
    "test:unit": "vue-cli-service test:unit",
    "test:unit:coverage": "nyc vue-cli-service test:unit",
    ...
  }

当你测试一个*.vue文件时,这个文件的目录显示在覆盖列表中。

编辑:或添加

module.exports = {
  chainWebpack: (config) => {
    if (process.env.NODE_ENV === 'test') {
      config.merge({
        target: 'node',
        devtool: 'eval'
    }
  },
}

在你的 vue.config.js

来源:https://github.com/vuejs/vue-test-utils-mocha-webpack-example/issues/3