我想知道目前是否可以忽略声纳测试覆盖的equals和hashcode方法?我听说过阻止排除,但它没有用。
答案 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/