伊斯坦布尔覆盖与 mocha 测试用例仅显示规范文件(测试文件)的覆盖率报告

Posted

技术标签:

【中文标题】伊斯坦布尔覆盖与 mocha 测试用例仅显示规范文件(测试文件)的覆盖率报告【英文标题】:Istanbul coverage with mocha test cases only showing coverage report for spec files (test files) 【发布时间】:2018-12-21 17:52:02 【问题描述】:

伊斯坦布尔覆盖率报告仅显示规范文件的覆盖率报告,即测试文件,而不是原始路由器和控制器文件。

它显示规范文件的覆盖率为 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'"

以下是伊斯坦布尔报道的 html 文件截图

【问题讨论】:

【参考方案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"
    

    更新/创建您的 .babelrc 添加伊斯坦布尔插件

    “插件”:[“伊斯坦布尔”]

    为伊斯坦布尔创建一个配置文件:.nycrc 并粘贴此配置

    "要求": ["@babel/register"], "排除": ["**/*.test,spec.js"], “全部”:是的, “仪器”:假

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

    然后运行测试

./node_modules/.bin/nyc mocha **/*.test,spec.js

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

【讨论】:

以上是关于伊斯坦布尔覆盖与 mocha 测试用例仅显示规范文件(测试文件)的覆盖率报告的主要内容,如果未能解决你的问题,请参考以下文章

如何做好测试用例设计

如何在 vs 代码中使用 mocha 生成覆盖率报告?

使用配置表+Mocha动态生成用例的JSAPI自动化测试

VSCode下调试mocha测试用例

前端测试 karma mocha should 都是什么鬼?

伊斯坦布尔封面报告对于使用 mocha 进行测试是错误的(使用 Mongoose)