使用cobertura-maven-plugin
选项,可以使用ignoreTrivial
setter和getter从代码覆盖率中排除。 jacoco-maven-plugin
还有这种可能吗?
这是我目前的配置:
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.1.201405082137</version>
<configuration>
<excludes>
<exclude>com/welovecoding/web/blog/test/**/*.class</exclude>
</excludes>
</configuration>
<executions>
<execution>
<id>amend-unit-test-java-agent-option</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
答案 0 :(得分:10)
官方不支持,请参阅以下评论:
提到的解决方案:
这个问题打开已经很久了。这是一个非常有趣的功能。例如,它是在三叶草和corbetura中实现的。有fork实现过滤: github.com/huangxiwei/jacoco, 从今年年初开始https://github.com/mchr3k/jacoco。为什么不将这些fork合并到master分支中?即使在开始时未实现所有过滤,所需的主过滤器也会列在您编写的Wiki页面中(尝试使用资源,同步块,枚举静态方法)。覆盖范围是一个非常有用的工具,更多的是它会产生更多有用的工具。当覆盖率达到很高的值时,它会有所帮助,有助于专注于正确的类别。
答案 1 :(得分:3)
从JaCoCo 0.8.0起,可以将 Lombok 自动生成的getter / setter(以及toString()
,equals()
...)排除在filtering options带来的覆盖率指标:
龙目岛
用@lombok注释的方法.Generated(由Lombok getter,setter,equals,hashcode,toString等生成)-完成于0.8.0
为此,您首先需要创建一个lombok.config
文件,该文件位于例如projet的根文件夹中,其内容如下:
lombok.addLombokGeneratedAnnotation = true
@Generated
批注将添加到设置器/获取器等中,并在覆盖率分析中被跳过。
答案 2 :(得分:-5)
我建议使用没有此类限制的Cobertura,也没有那么多误报警告。