问题标签 [jacoco-maven-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
20558 浏览

code-coverage - 在 JaCoCo 代码覆盖范围内排除 Setter 和 Getter

使用该选项cobertura-maven-plugin可以将 setter 和 getter 排除在代码覆盖范围之外。ignoreTrivial也有这种可能性jacoco-maven-plugin吗?

这是我目前的配置:

0 投票
2 回答
5383 浏览

maven - 声纳上的多模块 Maven 项目代码覆盖率问题

我有一个与 JaCoCo 和 SONAR 的多模块 maven 项目相关的问题。

我有一个父模块和 3 个子模块。

父 |-child1 - pom.xml |-child2 - pom.xml |-child3 - pom.xml |-pom.xml

我在父 pom.xml 中包含 JaCoCo 插件。当我从父 pom.xml 运行 mvn clean install sonar:sonar build 时,我看到每个孩子都生成了自己的 jacoco.exec 文件。像这样的东西 child1/target/jacoco.exec, child2/target/jacoco.exec 等等。但是,在父级没有生成 jacoco.exec。

当我运行声纳分析时,我看到单元测试覆盖率在声纳仪表板上显示为 0.0%。

我的问题是
1. 我应该怎么做才能看到整个项目的单元测试覆盖率?
2. 为了显示一个单元测试覆盖率,SONAR 是从父级还是从子级选择 jacoco.exec 文件?

请帮忙。这对我来说真的是一个障碍。感谢您的所有投入。

0 投票
1 回答
608 浏览

code-coverage - 只需要使用 SONAR 获得单元测试覆盖率结果

有什么方法可以让我在 SONAR 上获得单元测试代码覆盖率结果。我的项目只关注代码覆盖率,而不是代码问题/违规/规则等。

这对我来说会节省很多时间。因为我正在处理的项目有数百万行代码。我已经生成并附加了所有 jacoco.exec 文件。声纳分析进出我们的代码,这需要几个小时。代码标准、规则、违规、我的项目不关心的问题。

对此的任何帮助将不胜感激。

问候 Eajaz

0 投票
2 回答
24588 浏览

java - 在 Maven 中配置 JaCoCo 时遇到问题

我正在尝试通过 Maven 做一个简单的 JaCoCo 报告,但我一直收到同样的错误。这是我的插件的一个片段。

当我跑步时,mvn clean install jacoco:check我得到以下信息

无法执行目标 org.jacoco:jacoco-maven-plugin:0.7.2.201409121644:check (default-cli) on project ###########:目标 org.jacoco:jacoco 的参数“规则” -maven-plugin:0.7.2.201409121644:check 缺失或无效 -> [帮助 1]

我尝试将版本从 0.6.3 更改为 0.7.2 以及介于两者之间的每个版本。据我所知,对于 0.6.3 以上的任何版本,这看起来都是有效的配置,甚至最初是从下面链接中找到的他们自己的示例中获取的(我只是删除了除检查目标之外的所有内容):

http://www.eclemma.org/jacoco/trunk/doc/maven.html

如果我使用该-X选项运行,我会得到以下堆栈跟踪:

我究竟做错了什么?

0 投票
1 回答
3715 浏览

maven - 用于远程机器上的集成测试的 Jacoco 代理

我正在使用 maven 和 jacoco-maven-plugin 进行测试覆盖率报告

我需要将 jacoco-agent 配置为在远程机器 (Linux) 上,我在该机器上运行运行集成测试的脚本

我该怎么做?

这是我尝试过的:

0 投票
1 回答
1654 浏览

maven-3 - Jacoco coverage of unit test code

I'm converting an ANT build to Maven. I don't use Sonar.

In Maven, Jacoco doesn't seem to report about coverage of the unit tests themselves, while ANT does. I've been trying to get this for my Maven build as well, but I haven't been able to find anything.

It seems like I should add an <include> to the prepare-agent goal, but I'm not sure what to include. I've tried src/test/java/* and all kinds of variations on that theme, but none works.

How can I configure Jacoco in Maven such that it does report the coverage of unit test code?

0 投票
0 回答
646 浏览

maven - 排除的课程仍计入总覆盖结果

我们最近升级到 SonarCube 4.3.2。在他以前的版本中(不记得它是什么),可以选择 Jacoco 作为代码覆盖分析器,并将 Maven 中的排除定义为一个简单的属性;

例如

有了这个版本的 SonarCube,选择 Jacoco 的选项不再存在,所以我试图让它以另一种方式工作。关于这个主题的很多很多帖子,但没有一个能解决我的问题。我设法排除了类,但这些在 SonarCube 中显示为 0%(并降低了总覆盖率)。通过上述属性排除似乎不再起作用。

在我的 pom 中,我添加了以下插件:

配置似乎没问题,因为在 Jacoco 报告中,该类被完全排除在外。SonarTest 已进行部分测试,但使用此配置,它在 Sonar 中显示为 0%,因此似乎排除在一定程度上起作用。我如何通知 Sonar 这些被排除的类应该在覆盖范围内完全忽略。

0 投票
3 回答
2568 浏览

java - 具有单独测试模块的 Maven 多模块项目 - 代码覆盖率?

我有一个 Maven 多模块项目。

所有测试都在名为 tests/ 的单个模块中,所有代码都在单独的模块中。

有没有办法获得代码覆盖率?

0 投票
1 回答
1393 浏览

java - SonarQube Java :: JaCoCo Listeners 生成巨大的 jacoco.exec 报告

我有一个大约 150k LOC 的中型到大型项目。Jacoco maven-plugin 为文件 jacoco.exec 生成每个单元测试的报告。

所以,基本上这是 pom.xml 中的万无一失的设置:

棘手的部分是 JUnitListener。目标 jacoco.exec 文件变为 4,5 Gb 大(巨大!)。一旦我们的 Jenkins CI slaves 开始处理文件,声纳运行器(maven artifact)就会尝试将整个文件加载到内存中——或者看起来是这样。这需要 8 gig 的堆大小。这似乎完全错误,不是吗?

这里的问题是,可以做些什么来最小化 jacoco.exec 的大小吗?我们仅限于 Java 1.6 SDK(注意到 Java 1.7 的大小变为 < 2 Gb)。我猜调试符号是创建覆盖报告的必要条件还是我错了?

0 投票
0 回答
1021 浏览

java - 无法将外部生成的 it-jacoco.exec 报告导入 Sonar

我能够使用以下 JVM 选项启动位于与我的 jenkins 构建服务器不同的服务器上的多模块应用程序实例:"-javaagent:${MAIN_DIR}/lib/jacocoagent.jar==destfile=/jacoco.exec,output=tcpserver,address=*"

在我的 Jenkins 构建中,我的 Pre Steps 如下:一个调用目标 jacocoReport 的 ant 任务。我用于此目的的 build.xml 具有以下代码;

最后我有一个调用 sonar:sonar 的 Maven 构建步骤

这是 POM 中与我的集成报告相关的部分;

这是我的插件配置:

构建完成后,我的 Sonar 条目仍然显示为 0% 以进行集成测试。但是,当我使用 Eclipse 的 Jacoco import Coverage 会话获取相同的 it-jacoco.exec 报告并导入它时,我得到了 26% 的覆盖率。

最后,当我查看我的 Jenkins 构建日志时,我看到以下内容;

我现在没有任何自动化集成测试,我只想从我的外部测试机器导入集成报告。