工具:SonarQube Server 6.0,Sonar Scanner 3.0.3,Jenkins在Linux Build Slave上运行,具有管道格式,CppuTest,gcovr,Bitbucket,git,JDK 8
问题:声纳服务器上的Coverage测量值莫名显示0.0%覆盖率,单位测试值为非零值(如下所示) . 使用 sonar.cxx.coverage.reportPath=
访问覆盖率报告的路径 . CppuTest使用-ojunit标志,gcov生成.gcna文件,使用 gcovr
转换为单一格式 .
我已手动打开coverage-report.xml,它似乎是正确的格式(代码段):
<package branch-rate="0.0" complexity="0.0" line-rate="1.0" name="path > to unit test object file in class notation">
<classes>
<class branch-rate="0.0" complexity="0.0" filename="path to > source file" line-rate="1.0" name="nameOfSourceFile_cpp">
<lines>
<line branch="false" hits="104" number="97"/>
<line branch="false" hits="104" number="101"/>
<line branch="false" hits="104" number="103"/>
<line branch="false" hits="1" number="85"/>
<line branch="false" hits="1" number="88"/>
<line branch="false" hits="104" number="95"/>
</lines>
</class>
</classes>
</package>
Bitbucket Pull Request上的UT Coverage字段也显示0% . 我确信这个数字应该是非零的 . SonarQube的所有其他方面都在工作,包括查看CppCheck . 以前有人见过这样的事吗?
1 回答
OP看到的唯一问题是:
我可以回答这个问题 . 是的,我现在正在看到非常类似的东西 .
如果我找到一种方法来获得代码覆盖率列出的非零百分比,我会回过头来扩展这个答案,因为我确信这将涵盖OP的隐含问题 .