<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.0</version>
<configuration>
<!-- remove haltOnFailure to purposely fail build once we recover coverage back to 70% -->
<haltOnFailure>false</haltOnFailure>
<rules>
<rule>
<element>CLASS</element>
<limits>
<limit>
<counter>LINE</counter>
<value>COVEREDRATIO</value>
<minimum>0.70</minimum>
</limit>
<limit>
<counter>BRANCH</counter>
<value>COVEREDRATIO</value>
<minimum>0.70</minimum>
</limit>
</limits>
<excludes>
<!-- exclude domain objects -->
<exclude>com/path/to/classes/**/*</exclude>
</excludes>
</rule>
</rules>
</configuration>
<executions>
<execution>
<id>default-prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>check</id>
<goals>
<goal>check</goal>
<goal>report</goal>
</goals>
<phase>verify</phase>
</execution>
</executions>
</plugin>
</plugins>
预期行为:target/site/jacoco/index.html 中的 HTML 报告不包含 com/path/to/classes 的行
实际行为: target/site/jacoco/index.html 中的 HTML 报告包括 com/path/to/classes 的一行,这导致覆盖率被报告为(在我的例子中) 32%,证明该包不应该被包含在内。
我一定是做错了什么?
最佳答案
您可以在 configuration
的 excludes
节点上从 instrumentation/analysis/reports 中完全排除文件
<configuration>
<excludes>
<exclude>com/path/to/classes/**/*</exclude>
</excludes>
</configuration>
在 rule
节点上指定的排除项仅忽略为该规则排除的类
关于Maven jacoco 排除不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49409582/