【问题标题】:How to make sonarqube ignore the equals and hashcode如何让 sonarqube 忽略等号和哈希码
【发布时间】:2017-12-21 10:48:30
【问题描述】:

我想知道目前是否可以忽略用于声纳测试覆盖的 equals 和 hashcode 方法?我听说过阻止排除,但它没有用。

【问题讨论】:

  • 你的问题很有趣。你能展示你尝试了什么吗?
  • 我尝试使用 sonar.coverage.exclusions 语句编辑 pom.XML,如下所示: public int hashCode()} ,但没有成功。 @RAS
  • 我明白你的意思。请编辑您的问题并将所有这些详细信息放在那里。
  • 截至 2019 年 5 月,这似乎是不可能的。 community.sonarsource.com/t/…

标签: sonarqube test-coverage


【解决方案1】:

(假设您使用 jacoco 进行报道报告)

如果您不使用 Lombok,您可以尝试将 @Generated 注释添加到您想要跳过的方法中。我不确定这会奏效 - 但值得一试!

如果您使用 Lombok [像我一样],这是 Rainer Hahnekamp 提供的解决方案,它将代码标记为 @Generated,这使得 jacoco 忽略这些方法,进而使 sonarqube 显示更高的覆盖率。

幸运的是,从 0.8.0 版开始,Jacoco 可以检测、识别和忽略 Lombok 生成的代码。作为开发人员,您唯一需要做的就是在您的目录根目录中创建一个名为 lombok.config 的文件并设置以下标志:

lombok.addLombokGeneratedAnnotation = true

这会将注解 lombok.@Generated 添加到相关的方法、类和字段中。 Jacoco 知道这个注解并且会忽略那个注解的代码。

请记住,您至少需要 Jacoco 0.8.0 版和 Lombok 1.16.14 版。

https://www.rainerhahnekamp.com/en/ignoring-lombok-code-in-jacoco/

【讨论】:

    猜你喜欢
    • 2016-10-16
    • 2019-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-16
    • 2020-12-05
    • 1970-01-01
    相关资源
    最近更新 更多