首页 > 解决方案 > 使用 Nuxt 对 VueJS 应用程序的 Jest 测试覆盖率

问题描述

我有用 NuxtJS 编写的 VueJS 应用程序。此设置导致我在不同目录中有许多文件 index.vue。当我运行测试套件时,jest --no-cache --watch --coverage只有 1 个文件 index.vue 被覆盖结果拾取。

我在 package.json 中对 jest 的配置是:

"jest": {
    "transform": {
      "^.+.vue$": "vue-jest",
      "^.+.js$": "babel-jest"
    },
    "collectCoverage": true,
    "collectCoverageFrom": [
      "**/*.{js,vue}",
      "!**/node_modules/**"
    ],
    "coverageReporters": [
      "text"
    ],
    "setupTestFrameworkScriptFile": "jest-extended"
}

结果只显示了 1 个 index.vue 文件的覆盖率(即使我有多个以及其他 .vue 文件)。

我需要添加什么配置选项来运行覆盖所有 .vue 文件?

标签: vue.jsjestjstest-coverage

解决方案


乍一看,我希望看到 Jest 的moduleFileExtensions config option位置如下:

 "jest": {
    "moduleFileExtensions": ["js", "json", "jsx", "node", "vue"],
    // The rest of your config...
  }

该选项告诉 Jest 应用程序的模块使用哪些文件扩展名。


推荐阅读