当前位置: 首页 > 知识库问答 >
问题:

如何从Jacoco覆盖中排除一个类?

毕衡
2023-03-14

我想以某种方式使用Jacoco,这样它就排除了示例。java类。为了实现这一点,我加入了

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>

共有2个答案

叶恩
2023-03-14

这是我的解决方案,请注意排除类模式是class。路径类名

<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>

对于配置细节,请检查这个doco,希望它能有所帮助。

尉迟安民
2023-03-14

这是为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.class</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

 类似资料:
  • 如何排除来自jacoco code coverage,在pom中。xml还是java代码?

  • 当我的Jenkins管道失败时,试图从覆盖报告中排除包。我有一个包含所有POJO: s的子项目。我不想为所有这些编写uittest。因此,它们会拖累覆盖范围将低于阈值的分支/线路覆盖范围,并使我的构建失败。 应该可以排除一些包,但我无法让它工作。 我有以下雅各布.gradle文件: 以下是我的声纳.gradle文件中的内容: 在我的build.gradle中: 最后从我的詹金斯文件中: 但是,xx

  • Jacoco代码覆盖率报告还包括“系统路径jar”中的类,我在maven依赖项下面添加了这些类 我试图排除这个罐子的文件从Jacoco插件像这样: 但这种排斥并不奏效。它仍在显示jar中包含的文件的覆盖率报告。如图所示,文件位于org中。阿帕克。和组织。克洛布斯。报道中不应该有包裹。

  • 我一直试图从生成的覆盖报告中删除某些文件。我尝试了以下事情: 修改代码: 也试过, 我试图找到解决方案时提到的许多链接中的一些: Maven Jacoco配置-从不工作的报告中排除类/包 Jacoco如何正确排除包 如何在子项目中添加更多Jacoco排除? http://tdongsi.github.io/blog/2017/09/23/jacoco-in-maven-project/ 但是每次我

  • 我需要检查新jacoco任务的最小覆盖范围 Jacocotestcoverageverization gradle版本3.4.1和jacoco插件>=0.6.3提供了此任务 我可以运行另一个任务,生成带有分支覆盖率的html报告,但现在我想使用这个数字来使构建失败。

  • 我试图弄清楚如何从由Jenkins启动的Jacoco生成的代码覆盖率报告中排除文件夹列表。 似乎可以排除类,但不能排除文件夹,这让我很恼火,因为我已经开始使用一个相当大的在线支付系统库。运行那些单元测试意味着不断地在那个平台上创建测试帐户,并且不得不再次删除它们。詹金斯跑步的每一分钟。 并且仅仅排除文件夹比必须排除每一个类要简单得多。