带有Mocha测试用例的Istanbul覆盖率仅显示规格文件(测试文件)的覆盖率报告

时间:2018-07-13 10:59:53

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

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

它会显示规格文件的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文件的屏幕截图 enter image description here

1 个答案:

答案 0 :(得分:0)

我设法使其适用于我,也许您可​​以选择一些配置并将其应用到您的环境中

  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,添加伊斯坦布尔的插件

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

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

    {“ require”:[“ @ babel / register”],     “排除”:[“ ** / *。{test,spec} .js”],     “全部”:是的,     “ instrument”:false}

您可以在官方nyc repository

中查看更多选项
  1. 然后运行测试

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

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