在覆盖 JUnit 中排除文件夹 [关闭]

Posted

技术标签:

【中文标题】在覆盖 JUnit 中排除文件夹 [关闭]【英文标题】:Exclude folder in coverage JUnit [closed] 【发布时间】:2021-10-07 22:58:01 【问题描述】:

它试图解析这些文件夹,但我只需要它来检测主要和测试,并排除目标。

This is my actual coverage

我使用 JUnit、SonarQ、Maven 和 Jacoco。

我有很多 DTO 和其他我不想添加的类...

Jacoco 的插件:

        <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <configuration>
                    <excludes>
                        <exclude>**/target/generated-sources/xjc/*</exclude>
                    </excludes>
            </configuration>
            <executions>
                <execution>
                    <id>default-prepare-agent</id>
                    <goals>
                        <goal>prepare-agent</goal>
                    </goals>
                </execution>
                <execution>
                    <id>default-report</id>
                    <goals>
                        <goal>report</goal>
                    </goals>
                </execution>
            </executions>
         </plugin>

【问题讨论】:

【参考方案1】:

仅报告目标,我假设您已经拥有exec 文件。您需要排除由xjc 生成的类,而不是文件夹,例如**/generated/**/*.class 其中generated 是子包名称之一。

<plugin>
    <groupId>org.jacoco</groupId>
    <artifactId>jacoco-maven-plugin</artifactId>
    <version>0.8.5</version>
    <executions>
        <execution>
            <id>report</id>
            <phase>verify</phase>
            <goals>
                <goal>report</goal>
            </goals>
            <configuration>
                <dataFile>$project.build.directory/coverage-reports/aggregate.exec</dataFile>
                <excludes>
                    <exclude>**/model/**/*.class</exclude>
                    <exclude>**/infrastructure/**/*.class</exclude>
                </excludes>
            </configuration>
        </execution>
    </executions>
</plugin>

【讨论】:

对不起,我提供的信息不好,我已经更新了帖子,看看是否有更好的理解,非常感谢您的评论! 这仍然适用,将您的configuration 部分移动到报告目标的execution,再次 - 您正在排除文件夹,您需要排除类。 **/your/package/in/xjc/folder/**/*.class 爱你,谢谢

以上是关于在覆盖 JUnit 中排除文件夹 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在颤振测试覆盖率中排除文件?

如何从覆盖范围中排除文件?

如何从业力代码覆盖率报告中排除文件?

如何从代码覆盖率伊斯坦布尔记者中排除模拟文件

有没有办法从业力覆盖文本报告器结果中排除所有 100% 或阈值的文件?

排除/覆盖 npm 提供的类型