iOS单元测试-04-覆盖率上传sonarqube

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS单元测试-04-覆盖率上传sonarqube相关的知识,希望对你有一定的参考价值。

参考技术A [TOC]

SonarQube:从未计算过新代码的覆盖率

【中文标题】SonarQube:从未计算过新代码的覆盖率【英文标题】:SonarQube: Coverage on New Code never calculated 【发布时间】:2017-01-07 08:05:51 【问题描述】:

我已经设置了 SonarQube、Maven 和 Cobertura,以便在每次构建运行时上传单元测试覆盖率。我想使用差异视图来覆盖增量(仅限新代码)。

覆盖范围本身已成功上传,我可以在代码行中看到增量。但是,我无法让“新代码的覆盖范围”起作用。

我为泄漏期尝试了不同的值,包括 previous_analysisprevious_version(在新分析中将版本从 1.0 更改为 1.1)。我还使用-Dsonar.projectDate 来模拟过去的分析日期,但仍然没有运气。

有什么想法吗?

【问题讨论】:

【参考方案1】:

添加这个 sonar.java.binaries=classes 目录,很可能是 target/classes 帮助我解决了这个问题。 No JaCoCo analysis of project coverage can be done since there is no class files

【讨论】:

请考虑将链接中的相关信息添加到答案中提供的空间。【参考方案2】:

“新代码覆盖率”仅在您使用/激活 SCM 支持(SVN、Git、...)时显示。

sonar.scm.disabled=false

【讨论】:

这是什么?那是为了什么,为什么我们应该禁用它?【参考方案3】:

获取 new_code 相关信息/指标的关键要求是利用SonarQube SCM integration。要从中受益,您必须安装适用于您的项目的兼容 SCM 插件(例如 Git Plugin、SVN Plugin 等)。

【讨论】:

这就是我的想法,但我想首先“手动”创建一个最小可行产品。所以你是说我不能通过从命令行手动上传来使用new_code 我不明白你的问题。我要说的是您应该安装Git Plugin(或者取决于您使用的SCM)并验证您的项目设置中是否启用了SCM集成。这是因为 New Code 是根据 SCM blame 信息检测到的。 我安装了 Jazz RTC 插件,我在 SonarQube 中看到的结果是一样的 - 我可以看到新的代码行,但没有新的覆盖 :( 有趣的是,它与 Git 一起工作。我会接受你的回答,并为爵士乐单独发送一个问题。谢谢@Nicolas 我已将 sonar-scm-git-plugin-1.2.jar 添加到 sonarqube-6.2/extensions/plugins/,因为我使用 Git 进行 scm。然而,一切都没有改变。够了吗?

以上是关于iOS单元测试-04-覆盖率上传sonarqube的主要内容,如果未能解决你的问题,请参考以下文章

SonarQube 没有获得单元测试覆盖率

单元测试覆盖率报告未显示在 SonarQube 仪表板上

带有 jacoco 插件的 SonarQube 覆盖百分比显示为零,但可以看到单元测试的数量

SonarQube:从未计算过新代码的覆盖率

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

即使我添加了测试单元,sonarqube 的覆盖率也始终为 0%