我正在运行一个 CI,它可以并行执行摩卡测试。测试执行会创建覆盖率报告
coverage.json
- 由 nyc
生成。我想要一份 lcov 格式的所有 coverage.json
的最终合并报告,但我无法生成一个 - 我总是得到一个空的文本摘要。我尝试过的:
nyc report
:nyc report --temp-dir=nyc/coverage_dir --reporter=text --reporter=lcov
提供空报告和文本摘要
nyc merge
然后 nyc report
nyc merge ./coverage_dir coverage.json
nyc report --report-dir=temp --reporter=text --reporter=lcov
这种组合似乎确实合并了coverage.jsons文件,至少从文件大小来看,但
report
步骤仍然显示空文本摘要。
所有这些都会导致最终报告的文本摘要为空。
我就是这样解决的。
复制默认文件夹中的所有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
仅供参考,纽约文档中现在有一个关于它的部分:combining-reports-from-multiple-runs