工具: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。有没有人见过这样的事情?
答案 0 :(得分:-1)
OP看到的唯一问题是:
以前有人见过这样的事吗?
我可以回答这个问题。是的,我现在正在看到非常类似的东西。
如果我找到一种方法来获得代码覆盖率列出的非零百分比,我会回过头来扩展这个答案,因为我确信这将涵盖OP的隐含问题。