问题标签 [jacoco]

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 投票
13 回答
137277 浏览

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

我已经在互联网上上下搜索了这个。那里有很多半答案,与 Maven 属性有关,例如,${sonar.jacoco.reportPath}org.jacoco:jacoco-maven-plugin:prepare-agent设置maven-surefire-plugin argLine.-javaagent

不知何故,这些答案(无论是单独的还是组合的)都没有产生我所追求的: 覆盖率报告,如果在堆栈更高的测试中使用某个类(例如正在使用的实体),则显示该类已被覆盖由 DAO,即使它自己的模块中的测试没有完全覆盖它。

请问在某处有明确的配置来实现这一点吗?

0 投票
1 回答
6234 浏览

ant - JaCoCo Selenium 测试代码覆盖率并使用 Ant 导入 Sonar

我正在通过 Ant 运行声纳任务,由 Jenkins 在 RHEL 环境中触发。我成功地使用 Cobertura 进行 Junit 代码覆盖和 Surefire 进行报告。声纳可以很好地导入 Surefire 报告。

但是,现在我在 Jenkins 中使用 Ant 运行 Selenium 测试。我想向 Sonar 报告代码覆盖率和测试结果。显然我需要分析代码覆盖率和报告测试的 JaCoCo 插件。我认为对于单元测试,Jenkins 完成了这项工作,Sonar 只将报告导入到它自己的存储库中。

我对如何实际做到这一点感到困惑。网页http://www.sonarsource.org/measure-coverage-by-integration-tests-with-sonar-updated/引用 JaCoCo 页面http://www.eclemma.org/jacoco/trunk/doc/蚂蚁.html。我不确定要执行哪些步骤。我需要覆盖目标吗?我应该只启动代理吗?我在 Ant 的哪个位置启动代理?我需要倾倒东西吗?

我真的很感谢我能得到的所有帮助,谢谢:)

0 投票
1 回答
434 浏览

ant - 如何同时使用 Cobertura 进行单元测试和 JaCoCo 进行集成测试?

我正在将 Sonar 3.2 与 Ant 一起使用。我读过应该可以使用 Cobertura 进行单元测试分析和 JaCoCo 进行集成测试分析。但是,我还没有找到关于如何使用 Ant 执行此操作的明确指南。我已将代码覆盖引擎设置为 Cobertura,如下所示:

完成 Cobertura 分析后,我可以将其“重置”为 JaCoCo 吗?然后它会是这样的:

谢谢

0 投票
2 回答
3314 浏览

ant - 使用 JaCoCo 的 Sonar IT 提供 0% 的代码覆盖率

我正在使用 Ant 在 RHEL6 机器上运行 Sonar Java 代码分析。对于集成测试分析,我使用 JaCoCo 插件进行声纳。我的库类路径中有插件。当我运行我的 Selenium 测试时,会生成一个“jacoco.exec”文件(10 次测试大约 1MB)。然后我在我的 Sonar Ant 目标中激活 Jacoco 插件并将其导入到 Sonar。声纳分析日志显示 Jacoco 文件已被分析(大约需要 5000 毫秒)。但是,My Sonar IT 小部件显示 0% 的代码覆盖率。我已经通过使用 Cobertura 成功获得了单元测试代码覆盖率。

我的测试目标:

我的声纳蚂蚁目标:

我试图只包括“相关”的东西。我不确定“jacoco:coverage”元素是否适用于 Selenium 测试,但在执行日志中它提到了“代理”,所以我假设代理在这里也用作 Java VM 上的代理。

我卡住了,请帮忙:)

更新 这里是声纳输出的一部分:

0 投票
1 回答
2256 浏览

integration-testing - Jacoco-IntegrationTests 代码覆盖率

我无法克服这个问题——我有 3 个 AB 和 C 类。

A 是一个集成测试类,它同时测试 B 类和 C 类。

B 和 C 是另一个包中的类(wrt 类 A)

现在,当我运行集成测试类 A 时,我希望代码覆盖率显示 B 和 C 的哪些部分被覆盖。我没有得到所需的输出。

我得到的输出是没有检测类。

所以这两个类没有测试覆盖率......如果我在 src/main/java 中与 A 所在的相同模块中编写示例代码......它会识别该类并对其进行检测。

为什么它不能对其包之外的类做同样的事情。

请帮助。谢谢

0 投票
0 回答
1219 浏览

java - Jacoco Mvn 插件未通过所有单元测试

我在这里感到困惑,我正在运行 maven 3、java 1.6 并配置了一个 maven 项目,一切正常,包括所有单元测试。现在我来添加 Jacoco 插件,这样配置

现在,当我尝试运行 mvn clean package 时,没有一个单元测试通过并且根本没有覆盖率报告。

谁能指出我哪里出错了?

提前致谢

0 投票
1 回答
896 浏览

selenium - 与 Cobertura 相比,用于 Sonar 中的集成测试的 JaCoCo 实际上如何工作?

Cobertura 首先 1) 检测要跟踪的源文件,2) 执行单元测试并将它们与检测的类进行比较。这样我们就可以计算代码覆盖率。

但是,使用 JaCoCo 进行集成测试(Selenium),我还没有在文档中看到这个“仪器化”阶段。JaCoCo 代理只是设置为在执行测试时动态跟踪“动态”覆盖的源代码。JaCoCo 怎么知道要比较什么源代码,因为代码没有像 Cobertura 那样事先被检测过?另外,如果我想排除一些源代码怎么办?

0 投票
1 回答
346 浏览

ant - Jacoco Agent 应该添加到执行测试的 JVM 中,还是添加到运行应用服务器的 JVM 中?

我正在检测针对 JBoss 服务器中的应用程序运行的 Selenium 测试。许多文档提到应该将 Jacoco 代理作为参数添加到 JVM。但是,它们没有说明它们是指运行 Selenium 测试的 JVM 还是运行 JBoss 应用服务器的 JVM。它们是完全不同的机器。那么,Jacoco 代理是否添加到:

谢谢。

0 投票
1 回答
10741 浏览

selenium - 如何将 JaCoCo 代理附加到应用程序服务器

我正在使用 JBoss 并从 Jenkins 运行 Selenium 测试。我想测量 Selenium 测试的代码覆盖率,所以显然我应该将 JaCoCo java 代理附加到服务器。我已经这样做了:

但是,不会生成任何输出文件。我在这里指向 Jenkins 路径中的 jacocoagent.jar,但是否是 jacocoagent.jar 和 jacoco.exec 必须在实际的服务器路径中,而不是 Jenkins?

0 投票
1 回答
692 浏览

code-coverage - 非 web 服务模块的声纳 + jacoco 代理代码覆盖率

我正在尝试使用 JaCoCo 代理通过添加"-javaagent..."到 Jetty 并运行外部 Selenium 测试(或例如手动测试)来收集网站的 FT 代码覆盖率。

在测试结束时,我只得到了 web 模块的结果,它实际上是在 Jetty 中运行的,而不是 web 模块中使用的“核心”模块(在同一个项目中)。那么,是否有能力收集项目所有模块的调用?

事实上,我现在尝试使用相同的 JaCoCo 报告目标(即)启动所有项目 Web 服务(它有 5 个)/tmp/jacoco-res.execappend=true然后运行:

因此,sonar 现在为项目中的每个模块使用相同的JaCoCo 报告文件,并且 sonar 显示了 jetty-run 和核心模块的测试覆盖率。

这种方法是否适用并且覆盖结果是否正确?