合并纽约的覆盖范围报告

问题描述 投票:0回答:2

我正在运行一个 CI,它可以并行执行摩卡测试。测试执行会创建覆盖率报告

coverage.json
- 由
nyc
生成。我想要一份 lcov 格式的所有
coverage.json
的最终合并报告,但我无法生成一个 - 我总是得到一个空的文本摘要。我尝试过的:

  1. 跑步
    nyc report
nyc report --temp-dir=nyc/coverage_dir --reporter=text --reporter=lcov 

提供空报告和文本摘要

  1. 首先运行
    nyc merge
    然后
    nyc report
nyc merge ./coverage_dir coverage.json
nyc report --report-dir=temp --reporter=text --reporter=lcov

这种组合似乎确实合并了coverage.jsons文件,至少从文件大小来看,但

report
步骤仍然显示空文本摘要。

  1. 尝试使用不同版本的上述内容,即
    nyc 15.1.0
    nyc 14.1.1
  2. 指定
    这个答案
    中概述的
    -t标志和--report-dir
  3. 选项
  4. 更改到父目录并重新运行此答案指定的命令。

所有这些都会导致最终报告的文本摘要为空。

sonarqube mocha.js code-coverage nyc
2个回答
3
投票

我就是这样解决的。

复制默认文件夹中的所有json文件:

mkdir .nyc_output
cp project_a/coverage/coverage-final.json .nyc_output/project_a.json
cp project_b/coverage/coverage-final.json .nyc_output/project_b.json

然后生成报告:

nyc report --reporter=text --reporter=lcov --report-dir=destination-dir

0
投票

仅供参考,纽约文档中现在有一个关于它的部分:combining-reports-from-multiple-runs

© www.soinside.com 2019 - 2024. All rights reserved.