相关疑难解决方法(0)

Maven Jacoco配置 - 从报告中排除类/包不起作用

我有一个maven多模块项目,我正在使用jacoco-maven进行代码覆盖率报告.不应该报告某些类,因为它们是Spring配置,我对它们不感兴趣.

我已经宣布了maven-jacoco插件如下:

<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.2.201409121644</version>
<configuration>
    <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
    <exclude>some.package.*</exclude>
    <exclude>**/*Config.*</exclude>
    <exclude>**/*Dev.*</exclude>
    <exclude>some/package/SomeClass.java</exclude>
</configuration>
<executions>
    <execution>
        <goals>
            <goal>prepare-agent</goal>
        </goals>
    </execution>
    <execution>
        <id>report</id>
        <phase>prepare-package</phase>
        <goals>
            <goal>report</goal>
        </goals>
    </execution>
    <execution>
        <id>post-unit-test</id>
        <phase>test</phase>
        <goals>
            <goal>report</goal>
        </goals>
    </execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

问题是,当我执行mvn clean verifyjacoco时,仍会报告应该已被排除的类,因为我的xml配置指出了.如何正确配置?

configuration maven jacoco jacoco-maven-plugin

80
推荐指数
5
解决办法
12万
查看次数

Jacoco 如何正确排除包

我正在使用 Jacoco Maven 插件版本 0.8.1(使用 Java 8 / Maven 3.1.0)。无法让 Jacoco 使用路径排除。我想排除这些包:

  • my.package.model
  • my.package.exception

我试过的:

<build>
      <plugins>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>0.8.1</version>
                <executions>
                    <execution>
                        <id>prepare-agent</id>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>  
                    </execution>
                </executions>
                <configuration>
                    <excludes>
                        <exclude>my.package.model</exclude>
                        <exclude>my.package.exception</exclude>
                    </excludes>
                </configuration>
            </plugin>
      </plugins>
</build>

<reporting>
        <plugins>
             <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>0.8.1</version>
                <configuration>
                    <excludes>
                        <exclude>my.package.model</exclude>
                        <exclude>my.package.exception</exclude>
                    </excludes>
                </configuration>
                <reportSets>
                    <reportSet>
                        <reports>
                            <report>report</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
        </plugins>
</reporting>
Run Code Online (Sandbox Code Playgroud)

还有(就excludes部分而言):

<excludes>
     <exclude>my.package.model**</exclude>
     <exclude>my.package.exception**</exclude>
</excludes>

<excludes>
     <exclude>my/package/model/**/*</exclude>
     <exclude>my/package/exception/**/*</exclude>
</excludes>

<excludes>
     <exclude>*/my/package/model/**/*</exclude>
     <exclude>*/my/package/exception/**/*</exclude>
</excludes>

<excludes>
     <exclude>**/my/package/model/**/*</exclude>
     <exclude>**/my/package/exception/**/*</exclude>
</excludes>

<excludes> …
Run Code Online (Sandbox Code Playgroud)

java maven jacoco

6
推荐指数
2
解决办法
2万
查看次数

如何在子项目中添加更多 Jacoco 排除项?

在父 POM 中,我们设置了 Jacoco 规则来强制执行测试覆盖率。这包括通常没有行为的类的一些排除:

<execution>
    <id>default-check</id>
    <goals>
        <goal>check</goal>
    </goals>
    <configuration>
        <excludes>
            <!-- exclude largely auto-generated domain and model classes -->
            <exclude>**/model/*.class</exclude>
            <exclude>**/model/**/*.class</exclude>
            <exclude>**/domain/*.class</exclude>
            <exclude>**/domain/**/*.class</exclude>
            <exclude>**/dto/*.class</exclude>
            <exclude>**/dto/**/*.class</exclude>
        </excludes>
        <rules>
            <rule>
                <element>BUNDLE</element>
                <limits>
                    <limit implementation="org.jacoco.report.check.Limit">
                        <counter>INSTRUCTION</counter>
                        <value>COVEREDRATIO</value>
                        <minimum>0.70</minimum>
                    </limit>
                </limits>
            </rule>
        </rules>
    </configuration>
</execution>
Run Code Online (Sandbox Code Playgroud)

在使用此父项的子 POM 中,添加额外的排除类模式的 Maven 魔力是什么?

我尝试combine...以各种方式使用属性,但无法正确输出有效的 POM。

有任何想法吗?

maven jacoco jacoco-maven-plugin

2
推荐指数
1
解决办法
2493
查看次数

标签 统计

jacoco ×3

maven ×3

jacoco-maven-plugin ×2

configuration ×1

java ×1