我想以某种方式使用Jacoco,以便从整体覆盖范围中排除Sample.java class
。为实现这一目标,我已将<exclude>
纳入maven pom.xml中的prepare-agent
目标
Jacoco插件:
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.1.201405082137</version>
<executions>
<execution>
<id>default-prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
Surefire插件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.4.3</version>
<configuration>
<excludes>
<exclude>**/*Sample.java</exclude>
</excludes>
</configuration>
</plugin>
属性部分:
<properties>
<argLine>-Dfile.encoding=ISO-8859-1</argLine>
</properties>
答案 0 :(得分:1)
这是我的解决方案,请注意,排除类模式为class.path.className
。
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<execution>
<id>check</id>
<goals>
<goal>check</goal>
</goals>
<configuration>
<haltOnFailure>true</haltOnFailure>
<rules>
<rule>
<element>CLASS</element>
<excludes>
<exclude>com.example.className</exclude>
<exclude>com.example.config.*</exclude>
</excludes>
<limits>
<limit>
<counter>LINE</counter>
<value>COVEREDRATIO</value>
<minimum>0.80</minimum>
</limit>
</limits>
</rule>
</rules>
</configuration>
</execution>
</executions>
</plugin>
有关配置的详细信息,请检查this doco,希望对您有所帮助。
答案 1 :(得分:0)
这是为JaCoCo配置排除/包含的正确方法:
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.1.201405082137</version>
<executions>
<execution>
<id>default-prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
</executions>
<configuration>
<excludes>
<exclude>**/*Sample.java</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.4.3</version>
</plugin>
</plugins>
有关详细信息,您可以浏览此文档: http://www.jacoco.org/jacoco/trunk/doc/prepare-agent-mojo.html