gpt4 book ai didi

maven - Jacoco 代码覆盖率报告在 Jenkins 中显示 0 覆盖率

转载 作者:行者123 更新时间:2023-12-03 19:37:32 24 4
gpt4 key购买 nike

Jacoco 插件在 jenkins 报告中显示 0% 的覆盖率,但是当我在本地系统中运行相同的命令时,jacoco 会正确生成报告。我正在使用以下命令:

mvn -s xyz/settings.xml -f xyz/xyz/pom.xml clean install org.jacoco:jacoco-maven-plugin:report-aggregate



所以当我在 jenkins 中运行这个命令时,它会生成错误的报告。我已经在 jenkins 中的相应项目的 WorkSpace 目录中检查了它。它显示每个项目的覆盖率为 0%。但是当我在本地系统中运行相同的 maven 命令时,jacoco-maven 会生成正确的覆盖率报告。我可以看到它们,因为它们是 HTML 格式的。

我的 pom.xml 有这个用 maven 运行 jacoco:
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.7.201606060606</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>

我正在使用以下工具:
jacoco-maven-plugin version 0.7.7
jenkins-jacoco-plugin version 2.0.1
apache-maven version 3.5.0

这也是我在 maven 命令完成后得到的 jenkins 控制台日志。
[JaCoCo plugin] Collecting JaCoCo coverage data...
[JaCoCo plugin] **/**.exec;**/target/classes;**/src; locations are configured
[JaCoCo plugin] Number of found exec files for pattern **/**.exec: 0
[JaCoCo plugin] Saving matched execfiles:
[JaCoCo plugin] Saving matched class directories for class-pattern: **/target/classes:
<<<<<<Classes folders list for all project>>>>>>>>
[JaCoCo plugin] Loading inclusions files..
[JaCoCo plugin] inclusions: []
[JaCoCo plugin] exclusions: []
[JaCoCo plugin] Thresholds: JacocoHealthReportThresholds [minClass=0, maxClass=0, minMethod=0, maxMethod=0, minLine=0, maxLine=0, minBranch=0, maxBranch=0, minInstruction=0, maxInstruction=0, minComplexity=0, maxComplexity=0]
[JaCoCo plugin] Publishing the results..
[JaCoCo plugin] Loading packages..
[JaCoCo plugin] Done.
[JaCoCo plugin] Overall coverage: class: 0, method: 0, line: 0, branch: 0, instruction: 0
Finished: SUCCESS

以下是我为 jacoco 报告设置的 Jenkins :

enter image description here

这是我的目标目录的文件夹结构。

enter image description here

目标目录存在于项目目录下。

所以我真正关心的是为什么在 Jenkins 这些文件,即覆盖文件没有正确生成,而我本地系统中的相同命令生成正确的覆盖报告。

谢谢。

附言:- 我在多模块环境中执行此操作,其中我的源文件存在于一个项目中,而测试文件存在于另一个项目中。
因此,对于每个源项目,都存在一个测试项目。
还有一件事我刚刚注意到在运行 maven 命令后,
在源代码的/target/classes 目录下创建类文件,而在测试项目的/target/site 目录下生成报告的 html 文件。我不确定这是为什么。

最佳答案

我找到了我错过的一段代码,因为它没有在 jenkins 中生成报告。

我忘了加 jacoco-maven-plugin里面 <reporting>父标签 pom.xml .
我只在 <pluginManagement> 中添加了它& <build> .

:-)

关于maven - Jacoco 代码覆盖率报告在 Jenkins 中显示 0 覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46364516/

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