【问题标题】:How to treat uncovered files as having 0 coverage with SonarQube generic coverage XML?如何使用 SonarQube 通用覆盖 XML 将未覆盖的文件视为 0 覆盖?
【发布时间】:2018-06-10 21:48:57
【问题描述】:

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

我已经使用属性 sonar.coverageReportPaths 导入了以 XML 格式生成的覆盖率

我的覆盖信息仅适用于项目中的少数文件,因为还没有对所有内容进行单元测试。

我希望看到覆盖率百分比表示为代码总行数与我提供的覆盖率中覆盖行数的百分比。 因此,如果有 10 个文件,每个文件有 10 行代码,并且我为一个文件提供 100% 覆盖率的覆盖率信息,那么我希望整体覆盖率显示为 10% (10/100)。

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

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

有什么类似的东西可以用于通用覆盖,还是我必须想办法生成覆盖 XML 以显示应用程序中的所有其他行都未被覆盖?

【问题讨论】:

  • 这是开源的c++插件吗?

标签: sonarqube code-coverage


【解决方案1】:

该语言的插件需要实现 Executable Lines。这确定了应该覆盖哪些行。该平台将从那里进行数学运算。

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

【讨论】:

  • 谢谢,这对我们的工作很有帮助!我们还发现 CoreMetrics.LINES_TO_COVER 和 CoreMetrics.UNCOVERED_LINES 也可以工作,尽管没有将各个行着色为覆盖/未覆盖。
猜你喜欢
  • 2018-10-07
  • 2021-05-09
  • 2022-07-01
  • 2021-06-26
  • 1970-01-01
  • 2020-12-29
  • 1970-01-01
  • 1970-01-01
  • 2011-06-24
相关资源
最近更新 更多