从6.2开始如何禁用声纳覆盖代码

Côm*_*iet 2 code-coverage sonarqube

自从我们更新到SonarQube 6.2以来,似乎代码覆盖率插件已合并到核心中。它到处都显示红旗,我找不到如何将其关闭的方法,我们不使用代码覆盖率。

G. *_*eam 6

您没有指定要分析的语言。我假设使用Java和/或JavaScript。从6.2开始,SonarQube支持“强制覆盖范围为0”,它标记为文件中未发现的可执行行,这些行未显示在任何覆盖率报告中。(这是假设底层代码分析器支持该功能,以及Java和JavaScript已经这样做了)。目的是有什么当你真正缺少的一个更准确使用单元测试。如果没有此功能,就无法判断覆盖报告中遗漏的文件是否丢失,因为该文件没有可执行代码,或者因为没有测试(即使有)。

由于您没有使用单元测试(真的吗?),因此可以通过UI从管理计算中排除项目中的所有源文件:管理>分析范围>覆盖范围排除。模式值**/*.*应该为您做到。

  • 在版本 7.9.1 中,您可以在此处找到它:管理 > 常规设置 > 分析范围 > 覆盖范围排除 (3认同)
  • 使用`** / *`工程找到了一个解决方案。 (2认同)
  • 是否可以在“sonnar-scanner”命令中强制执行零覆盖?例如 `sonnar-scanner -Dforce.zero.coverage=true` 或类似的东西? (2认同)
  • 应该有办法禁用代码覆盖率,因为单元测试不是唯一的测试自动化代码。我使用用 JavaScript 编写的 TestComplete UI 脚本。虽然我想查看这些脚本的质量,但为它们编写单元测试是没有意义的。 (2认同)
  • 答案的最后一句话最适合我。我将以下内容添加到我的属性文件中。这将 Web UI 中的覆盖率指标从“0.0%”更改为“-”。声纳.覆盖.排除=**/*.*" (2认同)