2

合并覆盖率报告 Jest 和 mocha 时出现问题。目前我可以导出它们中的每一个。有什么解决办法吗?

覆盖范围笑话:

在此处输入图像描述

覆盖摩卡: 在此处输入图像描述

4

2 回答 2

0

给定的解决方案需要 linux lcov。如何自动合并报表?比如,在 github 上定义的一些脚本在 postbuild 上,以便发布覆盖,报告将自动合并并最终由 sonarqube 获取。

于 2019-07-24T10:29:17.767 回答
0

我是怎么做的:

1)获取 mocha 和 jest(我使用不同的技术)来生成 lcov 文件作为输出。您必须检查相应的文档,但 lcov 是许多系统的标准输出选项之一

2)将其与其中一种工具合并。我认为我使用的是linux lcov。这是脚本摘录:

cp test/coverage/lcov.info cov-data/unit.info
cp bdd/coverage/lcov.info cov-data/it.info
#fixing the absolute folder to relative ones
sed -i -E 's,(SF:).*(/app/.*),\1.\2,' cov-data/unit.info
sed -i -E 's,(SF:).*(/app/.*),\1.\2,' cov-data/it.info
lcov --add-tracefile cov-data/unit.info -a cov-data/it.info -o cov-data/common.info --rc lcov_branch_coverage=1

3) 现在您有了 common.info 文件,其中包含来自两次运行的联合覆盖数据。您需要做的就是以某种方式将其可视化。我建议使用声纳,因为它还为您进行静态代码分析。您必须创建指向源和覆盖范围的配置。而且,ofc,您将必须运行声纳服务器的实例(可以在虚拟机或/和 docker 中完成)。

https://www.sonarqube.org/

于 2018-10-05T10:15:08.330 回答