【问题标题】:Sonar Java - Is there a way to enforce unit test coverage?Sonar Java - 有没有办法强制单元测试覆盖?
【发布时间】:2015-03-30 06:32:09
【问题描述】:

目前我有声纳设置来显示单元测试覆盖率,效果很好。有没有办法为项目强制执行一定百分比的单元测试覆盖率?例如,如果覆盖率低于 50%,我希望它是声纳违规并且我的构建失败。

【问题讨论】:

  • 您是否使用某种构建服务器(Jenkins、Teamcity)?他们应该能够从 Sonar 获取指标并导致构建失败(我知道 TC 可以)。
  • 您使用哪个库来获得代码覆盖率?另外您使用的是哪个 CI 框架?
  • 为您的应用程序定义质量门。

标签: java unit-testing sonarqube code-coverage


【解决方案1】:

是的,这是可能的。例如,如果您使用 jenkins,您可以配置并在其中选择最小覆盖范围(JaCoCo 插件)。

在 jenkins 工作中,你可以通过单元测试,获取 jacoco 的覆盖率报告,然后,使用 sonar 插件,但如果覆盖率低于例如 50%,jenkins 会显示你的构建失败。

【讨论】:

    【解决方案2】:

    您需要安装这个插件Build Breaker 这个插件的唯一目的是在分析中出现新警报时中断构建。

    【讨论】:

      猜你喜欢
      • 2015-06-07
      • 2010-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-01
      • 1970-01-01
      • 2014-04-06
      • 2013-11-28
      相关资源
      最近更新 更多