SonarQube:更新现有分析数据

Posted

技术标签:

【中文标题】SonarQube:更新现有分析数据【英文标题】:SonarQube : Update existing analysis data 【发布时间】:2021-02-24 15:03:16 【问题描述】:

场景

编译代码并运行单元测试 对代码执行声纳扫描 扫描完成后,单元测试和其他分析的代码覆盖率将存储在声纳中(让我们调用 report1)

到目前为止一切顺利。现在,一旦部署了应用程序,我们就会运行一些集成测试,并且还会执行手动测试。 所有这些测试都会产生代码覆盖率。

现在我们必须合并单元测试、集成和手动测试代码覆盖率并将其存储在同一分析报告下的声纳(基本上更新报告1)

对于声纳上的最佳实践或解决方案有什么想法/建议吗?

【问题讨论】:

可以为此创建Maven插件配置 任何示例/参考都会有所帮助 【参考方案1】:

这很简单。在生成要集成到报告中的所有数据之前,不要运行 SonarQube 扫描。

但是,我还要指出,除了单元测试之外,生成代码覆盖率通常是不值得的。如果您无法通过单元测试达到它,我看不出您如何通过任何其他测试达到它。

【讨论】:

如果您的单元测试没有覆盖 x% 的代码覆盖率,您如何发布给 QA 团队进行测试?总会有一些场景我们无法使用单元测试进行测试。为此,只能进行手动测试。 如果您需要特定的单元测试代码覆盖率,请使用指定的质量门,以及如果后台任务未通过质量门,则生成失败的构建脚本。关于单元测试中无法访问代码的评论,通常情况正好相反,单元测试几乎总是可以比手动测试更多的代码。

以上是关于SonarQube:更新现有分析数据的主要内容,如果未能解决你的问题,请参考以下文章

SonarQube Runner 在分析期间抛出 NullPointerException

带有嵌入式数据库的Sonarqube 6.7版的安全率更新

Sonarqube 与现有 Oracle 12c 的集成

Sonarqube v.4.3.0 VSTS 任务“发布分析结果”抛出错误“无法获取指标”(404)

用SonarQube和SonarLint分析maven项目中的Java代码坏味道

用SonarQube和SonarLint分析maven项目中的Java代码坏味道