问题标签 [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 投票
1 回答
930 浏览

windows - jacoco as surefire argLine - 命令行太长

我正在运行 Jacoco 作为代理以确保万无一失

我正在为我的构建破坏程序配置​​ Jacoco,其中包含大量排除项(常量和我已弃用的​​类)。

我得到的是,当我去运行测试时,我得到了错误:


除了命令行上的代理参数 arglist 之外,还有其他方法可以将排除列表传递给 Jacoco 吗?(看代码看起来不像)

我的问题是:除了在命令行上之外,如何将排除列表传递给在 surefire 中运行的 Jacoco 代理?

0 投票
1 回答
347 浏览

integration-testing - Maven + Jacoco + Arquillian +TestNG IT 测试 = stackoverflowError

我正在使用 jacoco-maven-plugin (0.7.8) 的最新版本和 arquillian-jacoco (1.0.0.Alpha9) 的最新版本,但是在执行 IT 测试时,我在 BeforeClass Arquillian 中有一个 stackOverFlowError(我使用的是 maven,testNG 、wildfly、jacoco、arquillian 都在最新的库中):

失败的测试:PayEseConnectorServiceImplIT>Arquillian.arquillianBeforeClass:109 » 部署

当我评论时:

它工作正常,但我的配置下面没有包含集成测试:

有什么帮助吗?

0 投票
1 回答
604 浏览

jacoco - 多模块项目中使用 Arquillian 的 Jacoco 代码覆盖率

有人在 Arquillian 中使用 Jacoco 代码覆盖率吗?我的项目是一个多模块 maven 项目,目前它没有显示 Arquillian 测试的代码覆盖率。除了以下 pom 更改之外,Arquillian.xml 中是否还有其他更改?

我的 pom xml 中的构建和插件部分如下

0 投票
1 回答
1036 浏览

maven - 为什么在运行单个测试时没有生成 jacoco.exec - 但在运行所有测试时生成?

我正在使用 jacoco 代理运行万无一失的测试。当我运行mvn verify一个jacoco.exec文件时产生。

当我运行时,不会产生mvn clean verify -Dtest=com.org.MyTest -DfailIfNoTests=false任何jacoco.exec文件。

这是我的万无一失的配置。

这是我的 jacoco 配置

我的问题是:为什么在运行单个测试时没有生成 jacoco.exec - 但在运行所有测试时生成?

0 投票
3 回答
3457 浏览

unit-testing - 有没有办法仅在新代码上获得单位覆盖率(例如来自 jacoco)?

我的假设场景是这样的:

  • 我已经运行了 junit 测试并生成了一个 jacoco 文件
  • 我的 git diff 显示我更改了 10 行代码

现在我的 git diff 和 jacoco 信息的交集是覆盖了更改的 10 行代码中的 7 行。即 - 我对新代码有 70% 的覆盖率。

但我必须手动解决。

我想要一种自动化的方法来计算覆盖了多少新代码行的百分比。

我的问题是:有没有办法仅在新代码上获得单位覆盖率(例如来自 jacoco)?

(请注意,如果您运行扫描仪并使用 JSON API 询问任务结果,我知道sonarqubeanalysis.mode=publish可以做到这一点- 我正在寻找开发人员可以在本地运行的轻量级东西。)

0 投票
1 回答
439 浏览

maven-3 - Arquillian + jacoco IT 报道

我将 2 个项目配置为使用最后一个 jacoco 版本 0.7.8 和最后一个 Arquillian jacoco 扩展(1.0.09Alpha),它就像一个魅力(对于詹金斯和声纳 6.2)!但是我有一个更大的项目,当我只启动 Arquillian IT 测试时,我的战争档案已创建并包含所有类,因此测试正常,当我运行具有 IT 代码覆盖率的相同测试时,arquillian 档案中不包含任何类并且有这个错误 :

org.jboss.shrinkwrap.api.exporter.ArchiveExportException:无法将资产写入输出:/WEB-INF/... 原因:java.lang.RuntimeException:无法检测资产 org.jboss.shrinkwrap.api.asset。类加载器资产

与其他项目 BOM Arquillian 1.1.12Final arquillian suite 1.1.2 container 2.0.2 testng 的配置相同.....

有什么帮助吗?

0 投票
3 回答
2175 浏览

java - jacoco 合并目标找不到子模块的数据文件

我有一个带有基于 PowerMock 的单元测试的大型 Maven 多项目构建。我在子模块中生成一个“target/jacoco.exec”,在子模块的整个父 pom 中配置插件。我有一个额外的子模块,它只使用“report-aggregate”,并将各种子模块指定为依赖项。这一切基本上都有效。

我现在正在尝试将这些数据与 SonarQube 集成。似乎安装的 SonarQube Java Analyzer 版本不知道如何处理多个 jacoco.exec 文件,它只会处理一个文件。所以,我试图让“合并”目标发挥作用。我阅读了有关此目标的文档,但我显然没有正确地做某事,因为它只是没有找到数据文件。

在我使用“report-aggregate”的同一个子模块中,我执行了以下操作:

当我从顶层运行“mvn clean install”时,它最终处理了“jacoco-aggregate”子模块,并产生了以下输出:

如您所见,它执行了“合并”目标,但没有找到任何数据文件,尽管后来的“报告聚合”目标找到了。

所以我认为我指定文件集或与之相关的东西的方式在某种程度上是错误的。这里可能有什么问题?

0 投票
0 回答
1878 浏览

jacoco - JaCoCo 检查集成测试的目标

我的信念是 JaCoCo Maven 插件check目标不支持多模块项目中的集成测试(其中集成测试与被测代码位于不同的模块中)。

我有一个具有以下结构的项目:

webapp依赖lib1lib2构建到 WAR,integration-test使用内存容器来运行webapp和执行针对它的测试。

我的配置是这样的,JaCoCo 成功地为 { , , } 中的单元测试和运行的测试的集成测试覆盖生成合并数据文件(jacoco.execjacoco-it.execin ) 。service/target/webapplib1lib2integration-test

添加配置时,check我从插件中获得此输出。

错误是准确的,因为integration-test模块只有测试源,所以没有target/classes目录。添加源目录没有帮助,check失败表明覆盖率为 0%,因为目录中没有适用的类文件target/classes。从这个(并查看检查 Mojo 源)看来,check目标似乎需要classes它正在检测的所有模块的目录(webapp、、、lib1lib2

不存在这样的配置,check它允许我指定classes目录的位置,而且它看起来也不支持查看源代码的这种功能。

根/父pom.xml

integration-test pom.xml

0 投票
1 回答
1280 浏览

eclipse - junit 测试用例单独通过,但不在 mvn install 中

我有一个包含多个类的 Java 项目,并且我为每个类创建了 junit 测试用例。

我使用 jacoco 插件使用sonarQube 5.5检查我的项目的单元测试覆盖率。我正在Windows 7上开发Eclipse Mars 4.5.2

当我使用 Eclipse 插件运行 mvn install 时,它报告我的一些测试用例失败了(没有任何关于原因的堆栈跟踪),并且我看到以下异常:

An error has occurred in JaCoCo report generation. Error while creating report: Unknown block type 7.

但是,当我在 Eclipse 中单独运行这些测试用例时,它们工作得很好并且是成功的,这意味着我没有在断言不正确的测试用例上运行 mvn install。

我认为这可能是我的 Eclipse maven 插件的问题,所以我也使用 cmd 单独运行了 mvn install ,但我得到了同样的异常。

我在 Eclipse 中刷新了我的项目。在那之后(奇怪地)我所有的测试用例都通过了,但我仍然看到这个异常。

这个例外是什么意思,我该如何解决?

任何指导将不胜感激。谢谢

0 投票
0 回答
462 浏览

sonarqube - 如何使用 jacoco 在运行时实现动态字节码检测

我正在开发一个基于 Spring MVC + maven 的项目,其中包含大量要测试、分析和记录在报告中的场景(如代码覆盖率、静态代码分析等)。这些场景更具挑战性,因此如果可能的话,我们不能只使用单元测试用例来进行代码覆盖,我需要在项目运行时进行即时检测!

我已经搜索过相同的内容,但没有找到一个很好的例子来满足要求,因为我在一些网站上发红了 Jacoco 能够进行动态代码覆盖,但我无法在我的项目中实现它。

我到底需要什么:我已经将我的项目与 Surefire + Jacoco + SonarQube 集成以进行静态代码分析 + 单元测试用例的代码覆盖率,但我正在寻找关于控制器如何在应用程序层间流动的覆盖率报告,同时在应用程序时执行少数场景像 Jboos wildfly 一样在服务器上运行。这样我就可以涵盖应用程序的大部分具有挑战性的场景。

如果我理解动态仪器有误,请帮助我,如果可能的话,请指导我进行相同的配置。

任何帮助将不胜感激。