javascript - Mocha 测试用例的 Istanbul 尔覆盖率仅显示规范文件(测试文件)的覆盖率报告

标签 javascript node.js mocha.js code-coverage istanbul

Istanbul 尔覆盖率报告仅显示规范文件(即测试文件)的覆盖率报告,而不显示原始路由器和 Controller 文件。

它显示规范文件的覆盖率为 100%,路由器文件的覆盖率为 0%。

我使用的命令是 npm test:

"test": "NODE_ENV=development istanbul cover --include-all-sources --root ./server ./node_modules/.bin/_mocha -- --compilers js:babel-core/register --recursive './server/**/**/**/*-spec.js'"

以下是 Istanbul 尔报道报告 html 文件的屏幕截图 enter image description here

最佳答案

我设法让它为我工作,也许你可以选择我的一些配置并将它们应用到你的环境

  1. 我当前的软件包版本

    "@babel/core": "^7.0.0",
    "@babel/register": "^7.0.0",
    "babel-plugin-istanbul": "^5.0.1",
    "chai": "^4.1.2",
    "mocha": "^5.2.0",
    "nyc": "^13.0.1"
    
  2. 更新/创建您的 .babelrc 添加 Istanbul 尔插件

    { “插件”:[“ Istanbul 尔”] }

  3. 为 Istanbul 尔创建一个配置文件:.nycrc 并粘贴此配置

    { "require": ["@babel/register"], "排除": ["**/*.{test,spec}.js"], “全部”:真实, “仪器”:假}

更多选项可以在官方nyc repository中查看

  • 然后运行测试
  • ./node_modules/.bin/nyc mocha **/*.{test,spec}.js

    npx nyc mocha **/*.{test,spec}.js

    关于javascript - Mocha 测试用例的 Istanbul 尔覆盖率仅显示规范文件(测试文件)的覆盖率报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51323591/

    相关文章:

    javascript - 获取原型(prototype)链中的查找次数?

    javascript - Node.JS 调试器监听 5858 端口

    javascript - 范围错误 : Invalid array buffer length - Meteor JS

    express - 测试快速中间件并捕获错误

    javascript - 如何构建这个json?

    javascript - 使用push函数将项目添加到数组中

    javascript - res.writehead 和 res.write 的 hapi 等价物是什么?

    unit-testing - 无需编译的 ES6 单元测试

    node.js - Chai http - 双重回调问题

    javascript - 如何防止 SVG 绘图中的对象在 Chrome 中的 SVG 元素边界处被裁剪?