如何使sonarqube忽略equals和hashcode

时间:2017-12-21 10:48:30

标签: sonarqube test-coverage

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

1 个答案:

答案 0 :(得分:0)

(假设您正在使用jacoco进行覆盖率报告)

如果您不使用Lombok,则可以尝试将@Generated批注添加到要跳过的方法中。我不确定这是否可行-但值得一试!

如果您正在使用Lombok(就像我以前一样),这是Rainer Hahnekamp的一种解决方案,该解决方案将代码标记为@Generated,这使jacoco忽略了这些方法,从而使声纳波显示更高的覆盖率。

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

lombok.addLombokGeneratedAnnotation = true

这会将注释lombok。@ Generated添加到相关的方法,类和字段。 Jacoco知道此注释,将忽略该注释的代码。

请记住,您至少需要Jacoco的0.8.0版本和Lombok的v1.16.14。

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