gpt4 book ai didi

maven - 使用 Maven 生成 JaCoCo 代码覆盖率报告

转载 作者:行者123 更新时间:2023-12-04 01:44:59 30 4
gpt4 key购买 nike

不明白,我尝试用JaCoCo和Maven生成代码覆盖率报告,最简单的。

我的 pom.xml 中有以下插件:

<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco.version}</version>
<executions>
<execution>
<id>prepare-agent</id>
<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>
<configuration>
<!-- Sets the path to the file which contains the execution data. -->

<dataFile>target/jacoco.exec</dataFile>
<!-- Sets the output directory for the code coverage report. -->
<outputDirectory>target/my-reports</outputDirectory>
</configuration>
</execution>
</executions>
<configuration>
<systemPropertyVariables>
<jacoco-agent.destfile>target/jacoco.exec</jacoco-agent.destfile>
</systemPropertyVariables>
</configuration>
</plugin>

当我尝试进行 mvn 测试时,它什么也没做。甚至没有错误或什么。它说我的测试成功,但 Maven 似乎没有看到 JaCoCo。如果我尝试执行 mvn jacoco:report 无论如何我会收到一条消息: Skipping JaCoCo execution due to missing execution data file.

最佳答案

下面的配置应该就够了:

<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco.version}</version>
<executions>
<execution>
<id>prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

然后可以在 target/site/jacoco/ 中找到这些报告。

它在您的情况下不起作用的原因:
  • 插件配置在 pluginManagement 里面
  • 该插件位于 profile

  • 执行 mvn test 时还要检查 maven 日志为 jacoco-maven-plugin .如需更多信息,请运行 mvn -X test

    关于maven - 使用 Maven 生成 JaCoCo 代码覆盖率报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55716779/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com