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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将未覆盖的文件视为具有SonarQube通用覆盖XML的0覆盖?相关的知识,希望对你有一定的参考价值。

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

我使用属性sonar.coverageReportPaths导入了以XML格式生成的coverage

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

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

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

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

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

答案

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

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

以上是关于如何将未覆盖的文件视为具有SonarQube通用覆盖XML的0覆盖?的主要内容,如果未能解决你的问题,请参考以下文章

SonarQube 覆盖多模块项目

Sonarqube 默认覆盖范围为 0,来自具有绝对路径的 Karma Coverage LCOV 文件

具有 android 测试和测试覆盖率的 sonarqube

《Effective Java》第3章 对于所有对象都通用的方法

PySpark - 分区中覆盖的数据

单元测试覆盖在 Sonarqube 中不可见