首页 > 解决方案 > 在 vuejs 的伊斯坦布尔、摩卡和 vue-test-utils 的覆盖范围内找不到 .vue 文件

问题描述

我使用 vue-test-utils 测试我的 VueJS 应用程序。我想有一个报道。我使用伊斯坦布尔可以有这个覆盖范围。所有 .js 文件都显示在 coverage 中,但没有 .vue 文件。

编辑:@Vue/cliv.4.5.4 和Vuev.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.jsvuejs2mocha.jsistanbulvue-test-utils

解决方案


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

编辑:或添加

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


推荐阅读