在Jacoco覆盖率报告中排除文件

5

我一直在尝试从生成的覆盖率报告中删除某些文件。我尝试了以下方法:

<plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.8.1</version>
            <executions>
                <execution>
                    <id>report-aggregate</id>
                    <phase>verify</phase>
                    <goals>
                        <goal>report-aggregate</goal>
                    </goals>
                    <configuration>
                        <excludes>
                            <exclude>**/com/abc/def/**</exclude>
                        </excludes>
                    </configuration>
                </execution>
                <execution>
                    <id>check</id>
                    <goals>
                        <goal>check</goal>
                    </goals>
                    <configuration>
                        <rules>
                            <rule >
                                <element>BUNDLE</element>
                                    <limits>
                                        <limit >
                                            <counter>LINE</counter>
                                            <value>COVEREDRATIO</value>
                                            <minimum>0.50</minimum>
                                        </limit>
                                    </limits>
                            </rule>
                        </rules>
                    </configuration>
                </execution>
            </executions>
        </plugin>

修改后的代码:
<plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.7.9</version>
            <configuration>
                <excludes>
                    <exclude>**/com/abc/def/**</exclude>
                </excludes>
            </configuration>
            <executions>
                <execution>
                    <id>report-aggregate</id>
                    <phase>verify</phase>
                    <goals>
                        <goal>report-aggregate</goal>
                    </goals>
                </execution>
                <execution>
                    <id>check</id>
                    <goals>
                        <goal>check</goal>
                    </goals>
                    <configuration>
                        <rules>
                            <rule >
                                <element>BUNDLE</element>
                                    <limits>
                                        <limit >
                                            <counter>LINE</counter>
                                            <value>COVEREDRATIO</value>
                                            <minimum>0.50</minimum>
                                        </limit>
                                    </limits>
                            </rule>
                        </rules>
                    </configuration>
                </execution>
            </executions>
        </plugin>

也尝试过,

<configuration>
                        <rules>
                            <rule >
                                <element>BUNDLE</element>
                                    <limits>
                                        <limit >
                                            <counter>LINE</counter>
                                            <value>COVEREDRATIO</value>
                                            <minimum>0.50</minimum>
                                        </limit>
                                    </limits>
                                <excludes>
                                    <exclude>com.abc.def.className</exclude>
                                </excludes>
                            </rule>
                        </rules>
                    </configuration>

在尝试解决问题时,我参考了许多链接:

Maven Jacoco 配置 - 排除报告中的类/包无法工作

Jacoco 如何正确地排除包

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

http://tdongsi.github.io/blog/2017/09/23/jacoco-in-maven-project/

但是每次我生成报告时,这些文件仍然会出现在给定的模块中。
1个回答

1

在被这个问题困扰了几个小时后,我终于找到了解决方法:

<configuration>
     <excludes>
          <exclude>com/package/name/FileName*</exclude>
     </excludes>
</configuration>

在文件名后面添加*对我来说是关键的部分。我尝试了几次将FileName.java放入,但直到我添加*之前它仍然会包含它。

哇,那真的是神奇。你有没有想法为什么当给定完全相同的 FileName.java 时它不起作用? - Mehul Parmar
哇,那真是神奇的效果。你有什么想法为什么当给出完全相同的 FileName.java 时它却没有工作? - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接