使用cobertura-maven-plugin
setter和getter可以使用ignoreTrivial
选项从代码覆盖率中排除。 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>
不支持正式显示,请参见注释:
提到的解决方案:
距本刊物出版已有很长时间了。这是一个非常有趣的功能。例如,它在三叶草和corbetura中实现。有实现过滤的fork:github.com/huangxiwei/jacoco,https://github.com/mchr3k/jacoco自年初以来。为什么不将这些fork合并到master分支中?即使在开始时未实现所有过滤,所需的主要过滤器也会在您编写的Wiki页面中列出(尝试使用资源,同步块,枚举静态方法)。覆盖率是一个非常有用的工具,它的累加性越高,它就会越有用。当覆盖率达到很高的值时,它可以提供很多帮助,它可以帮助您专注于正确的课程。
从JaCoCo 0.8.0开始,由于filtering options,可以从覆盖率指标中排除由Lombok自动生成的getter / setter方法。
Lombok
带@ lombok.Generated的方法(由Lombok getter,setter,equals,hashcode,toString等生成-在0.8.0中完成]
为此,您首先需要创建一个
lombok.config
文件,该文件位于例如projet的根文件夹中,其内容如下:
lombok.config
[
lombok.addLombokGeneratedAnnotation = true
批注将被添加到setters / getters等中,并且在覆盖率分析中将被跳过。
我建议使用不具有此类限制并且也没有太多误报的Cobertura。