如何将未覆盖的文件视为具有SonarQube通用覆盖XML的0覆盖?

时间:2017-12-31 03:43:16

标签: sonarqube code-coverage

您好我正在使用自定义插件获取不受支持的语言,并且我想显示覆盖率信息。

我使用属性sonar.coverageReportPaths

导入了以XML格式生成的coverage

我的覆盖范围信息仅适用于项目中的一些文件,因为尚未对所有内容进行单元测试。

我原以为我会看到覆盖百分比表示为代码总线数与我提供的覆盖范围内的覆盖行数的百分比。 因此,如果有10个文件,每个文件包含10行代码,并且我提供了覆盖率为100%的一个文件的覆盖率信息,那么我预计整体覆盖率将显示为10%(10/100)。

相反,它显示100%(10/10),即只有具有覆盖信息的文件被视为总数的一部分。我假设覆盖率将作为覆盖线计算为项目中总代码行的百分比,至少这是我理解的方式。

我在C ++插件中找到了一个名为sonar.cxx.coverage.forceZeroCoverage的属性,它似乎是用于这样的事情,即假设没有覆盖信息的源文件被认为具有0覆盖率,这将是有用的。 / p>

我是否可以使用任何类似的通用覆盖,或者我必须找到一种方法来生成覆盖XML,表明应用程序中的每一行都被揭开了?

1 个答案:

答案 0 :(得分:1)

该语言的插件需要实现可执行行。这标识了应该涵盖哪些行。平台将从那里拿出数学。

以下是SonarSource在决定哪些行可识别为可覆盖时在内部使用的指南:https://docs.sonarqube.org/display/DEV/Executable+Lines