单元测试覆盖率报告未显示在 SonarQube 仪表板上
Posted
技术标签:
【中文标题】单元测试覆盖率报告未显示在 SonarQube 仪表板上【英文标题】:Unit testing Coverage report not showing on SonarQube Dashboard 【发布时间】:2017-11-18 18:20:42 【问题描述】:我们的声纳构建环境详情如下:
* SonarQube Server Version - 5.6.6 (64-Bit).
* Sonar Client Build Operating System – Ubuntu 14.04.5 LTS (64-Bit).
* Sonar-scanner- Version - 3.0.3.778.
* sonar-cxx-plugin-0.9.7.jar
* Source Code Language: C++
* gcovr Version - 3.3
当前问题:
我们有单元测试覆盖率报告(Gcovr - 基于 .XML - CoverageReport.xml)文件,Sonar 不会在日志中显示任何错误消息,也不会在 SonarQube Dashboard 上显示覆盖率信息。 我的 sonar-project.properties 文件包含以下信息以导入我的覆盖率报告。
sonar.cxx.coverage.reportPath=VE_L/CoverageReport.xml
声纳扫描仪日志未显示任何错误。而我可以看到导入成功。
10:28:23.717 INFO - Scanner found '1' report files
10:28:23.717 INFO - Parser will parse '1' report files
10:28:23.921 INFO - Added report '/home/srinivas.ghs/Jenkins/workspace/VE_Engine/MORE_SERVICE/VideoMaker/Development/DREAM/VE_L/CoverageReport.xml' (parsed by: CoberturaParser) to the coverage data
10:28:24.080 INFO - Project 'scm.team.videoeditor' Cycles:0 Feedback cycles:0 Tangles:0 Weight:0.0
10:28:24.081 INFO - Sensor CxxSquidSensor (done) | time=11057ms
注意:我已经配置了单元测试覆盖率和集成测试覆盖率 Wedgits。
那么你能帮我在 SonarQube Dashboard 上显示我的单元测试覆盖率报告吗?
【问题讨论】:
【参考方案1】:在gcovr
之前试试这个:
find . -iname "*.gcno" -o -iname "*.gcda" | xargs gcov
【讨论】:
嗨 Luis,我应该使用相同的 gcovr 版本 - 3.3(或者)我需要使用 gcovr 版本 - 2.4 吗? Noup(我认为),因为 gcovr 解析 gcov 的文件,这就是你必须在 gcovr 之前运行 gcov 的原因 使用 gcovr-3.3 版本生成的报告修改了具有完整路径的文件名。发布能够在 sonarqube 仪表板中查看结果的内容。谢谢。以上是关于单元测试覆盖率报告未显示在 SonarQube 仪表板上的主要内容,如果未能解决你的问题,请参考以下文章
使用 rspec 的 Sonarqube 未显示单元测试的计数
具有 android 测试和测试覆盖率的 sonarqube