为什么SonarQube计算我的lcov报告中没有的文件的覆盖范围?(Angular项目)



运行测试和覆盖率后,当我查看生成的报告(lcov(时,我只看到两个文件被报告为100%覆盖率。这些是在我的项目中进行单元测试的正确文件。

然而,在将此报告提供给SonarQube后,Sonar的覆盖率报告显示了其他几个文件的覆盖率均为0%。

我知道我可以通过命令行选项和UI排除文件,但如果我的报告已经正确,为什么我必须这样做?

SonarQube希望从哪里获得报告覆盖范围的文件列表?

是的,SonarQube正在考虑所有项目文件来提供项目覆盖率度量。因为在一个包含根本没有覆盖的源文件的项目上显示100%覆盖率指标是一个谎言。

如果测试文件被正确识别(sonar.tests、sonar.ttest.inclusions(,并且一些特定文件(如生成的文件(被故意排除在外(sonar.coverage.inclusiones(,那么SonarQube项目覆盖率度量是可靠的。

最新更新