适用于多模块项目的Maven Jacoco配置

约翰

我正在尝试使用maven中的jacoco插件为我正在从事的多模块项目生成代码覆盖率报告。

我在构建标记的父pom.xml中添加了以下内容。

      <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.7.8-SNAPSHOT</version>
            <configuration>
                <output>file</output>
                <append>true</append>
            </configuration>
            <executions>
                <execution>
                    <id>jacoco-initialize</id>
                    <goals>
                        <goal>prepare-agent</goal>
                    </goals>
                </execution>
                <execution>
                    <id>jacoco-site</id>
                    <phase>verify</phase>
                    <goals>
                        <goal>report</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

        <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.18.1</version>
            <configuration>
                <argLine>${argLine}</argLine>
            </configuration>
        </plugin>

在运行mvn verify时,在“项目根目录\模块\目标\站点\ jacoco \”处为每个模块生成了各自的jacoco报告

是否可以在项目根目录下生成包含每个模块的测试覆盖率详细信息的合并的jacoco报告?

请提出合并单个模块报告的最佳方法。

Markdsievers

当然可以!

花了我一些时间来整理这种模式,但是效果很好。

对于多模块Maven项目:

ROOT
|--LIB-1
|--LIB-2

LIB两个项目都有自己的单元测试。

ROOT pom.xml

<!- properties-->
<jacoco.reportPath>${project.basedir}/../target/jacoco.exec</jacoco.reportPath>

<!-- build/plugins (not build/pluginManagement/plugins!) -->
<plugin>
    <groupId>org.jacoco</groupId>
    <artifactId>jacoco-maven-plugin</artifactId>
    <version>0.7.6.201602180812</version>
    <executions>
        <execution>
            <id>agent-for-ut</id>
            <goals>
                <goal>prepare-agent</goal>
            </goals>
            <configuration>
                <append>true</append>
                <destFile>${jacoco.reportPath}</destFile>
            </configuration>
        </execution>
    </executions>
</plugin>

LIB项目pom.xml将继承JaCoCo插件的执行,因此只需在Surefire插件中连接argline。

<plugin>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.18.1</version>
    <configuration>
        <argLine>${argLine}</argLine>
    </configuration>
 </plugin>

通过Sonar报告了有关集成测试以及JaCoCo单元测试的扩展答案,您可以在此处查看我的详细答案

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法在Maven中配置JaCoCo

适用于多个项目的BigQuery服务帐户配置

如何使用Jacoco检查多模块Maven项目的最小代码覆盖率?

如何使用SVN中的某些模块配置多模块Maven项目的父模块

如何在多模块android项目(kotlin + java)上配置SonarQube(with jacoco)?

如何配置多模块Maven + Sonar + JaCoCo以提供合并的覆盖率报告?

如何在Jenkins中使用SonarQube和Maven配置Jacoco

用于集成测试的多模块maven jacoco设置

Jacoco Maven多模块项目覆盖率

jacoco和gradle多模块项目的跨模块代码覆盖

JaCoCo不适用于Robolectric测试

多模块项目的热插拔代理配置

Expo LAN配置不适用于新的ReactNative项目

SonarQube:JaCoCo的多模块gradle项目的覆盖范围不完整

在多模块maven项目中使用配置文件

多模块Maven项目中的Spring Boot配置

如何在多模块项目中配置Maven Shade插件?

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

依赖管理不适用于多模块项目

基于Xamarin中的构建配置,适用于iOS / Android项目的不同的`google-services.json / GoogleService-Info.plist`

Maven Jacoco-多模块项目。什么是最简单的(集中式)设置?

SonarQube Jacoco离线仪器在Maven多模块项目中显示0%的覆盖率

适用于Android Espresso的空白Jacoco报告

我对具有多模块项目的scala-maven-plugin的配置不允许我在子目录中执行“ mvn编译”

多模块项目中Arquillian的Jacoco代码覆盖率

适用于多容器Docker配置的AWS Elastic beantalk中的版本错误

适用于OpenDDS项目的cmake

logback配置不适用于春季

Springcache不适用于XML配置