运行测试和覆盖率后,当查看生成的报告(lcov)时,仅看到两个文件被报告为100%覆盖率。这些是在我的项目中进行单元测试的正确文件。
但是,在将此报告提供给SonarQube之后,Sonar的覆盖率报告显示了其他几个文件,它们的覆盖率均为0%。
我知道我可以通过命令行选项和UI排除文件,但是如果我的报告已经正确,为什么我必须这样做?
SonarQube在哪里寻找要报告覆盖范围的文件列表?
答案 0 :(得分:0)
是的,SonarQube正在考虑所有项目文件以提供项目覆盖率指标。因为在包含根本没有覆盖的源文件的项目上显示100%覆盖率指标是一个谎言。
如果正确识别了测试文件(sonar.tests,sonar.test.inclusions),并且有意排除了某些特定文件(如生成的文件)(sonar.coverage.exclusions),则SonarQube项目覆盖率指标是可靠的。