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

java - 带有 Maven 的 JaCoCo - 缺少执行数据文件

我们有一个 Maven 多模块项目,由父级(HelloWorld)和不同的子级(HelloWorldServices 和 HelloWorldPresentation)组成,并使用 Jenkins 构建。

运行成功测试后的错误是

它前面的行说

这就是我定义父 pom JaCoCo 插件的方式:

在任何 pom 中,我都没有明确提到过万无一失。我还尝试了您在任何地方都能找到的将 argLine 放入配置的方法,但结果都相同。JaCoCo .exec 文件从未被创建,无论我做什么。至于目标,我使用

因为当我省略 jacoco 目标时,它甚至不显示 INFO 消息。

0 投票
1 回答
1747 浏览

java - 缺少 Jacoco 代码覆盖率和 IncompatibleClassChangeError

我有一个带有一些 Arquillian 测试的 maven 项目(包括无人机/石墨烯测试)。

当我使用 maven 构建我的项目时,我所有使用 Graphene 和 Drone 或 Warp 的 Arquillian 测试都将失败,并出现以下异常

这是魔法应该发生的地方

我正在使用 mvn 来构建我的项目,这个目标是clean package -fae和这个配置文件jacoco arq-wildfly

构建失败,并在我的目标目录中创建了 jacoco.exec 文件。

如果我删除 jacoco 配置文件中的目标prepare-agent并使用配置文件jacoco arq-wildfly运行相同的 mvn 命令(clean package -fae),我的所有测试都会成功完成,但没有创建 jacoco.exec 文件。

我做错了什么?有人有使用 Arquillian 和 Drone/Graphene Tests 和 Jacoco 进行代码覆盖的工作示例吗?

有关我的环境的更多信息:

  • 野蝇 10
  • Arquillian Core 1.1.11.Final
  • Arquillian 无人机 1.3.1.Final
  • Arquillian 石墨烯 2.1.0.Beta1
  • Arquillian Jacoco 1.0.0.Alpha8
  • 雅可可 0.7.6.201602180812
0 投票
2 回答
5012 浏览

unit-testing - jacoco 显示未覆盖的行,尽管在运行代码时会执行这些行

我有以下代码行,Jacoco 将其指示为未“执行”。

在此处输入图像描述

但是当我调试测试用例时,它确实执行了这些行。下面是我写的测试用例。

这里有什么问题?为什么 Jacoco 显示为行尚未执行?请指教。

0 投票
2 回答
1504 浏览

java - 与 jacoco 集成声纳。我在声纳覆盖报告中看到排除的包

我想从 cobertura 迁移到 jacoco 代码覆盖工具。我使用 maven 作为构建工具,并在我的 pom.xml 文件中添加了 jococo-maven-plugin。它的配置如下所示:

因此,在执行mvn clean installjacoco 之后,我会生成一些带有代码覆盖率的漂亮 html 页面。这份文件看起来正是我想要的样子。

我需要执行的第二步是将 jococo 与声纳集成。以前我将声纳与 cobertura 集成。所以我简单地删除了 cobertura 的特定属性并添加了与 jococo 相关的属性。

Maven 插件

和简介

结果,我在服务器上获得了这样的代码覆盖率:

结果,我在服务器上得到了这样的代码覆盖率

在此处输入图像描述

而且我看到在服务器上生成的覆盖率报告中,我看到我的排除包包含在报告中。当我使用 cobertura 时,一切正常。

所以可能有人可以帮助我。我不想为声纳配置添加排除项。我真的希望它可以是 jococo 插件的一些附加配置。

更新

如果我将 cobertura maven-plugin 与声纳一起使用(我的意思是如果我评论这一行<sonar.jacoco.reportPath>target/sites/jacoco/jacoco.exec</sonar.jacoco.reportPath>并取消评论这一行<sonar.cobertura.reportPath>target/site/cobertura/coverage.xml</sonar.cobertura.reportPath>在此处输入图像描述

0 投票
1 回答
3137 浏览

maven - 在 jacoco-it 目录中进行集成测试

我有集成测试,它们执行得很好,但 Jacoco 认为它们是单元测试。如何告诉 Jacoco 将它们视为集成测试并显示它们的图形覆盖率,而不是在 jacoco-ut 目录中,而是在 jacoco-it 目录中?

在 Maven 配置中:

更新:我在 maven-failsafe-plugin 插件中遗漏了这一点:

添加后如下:

集成测试报告显示集成测试。

最终完整配置为:

0 投票
1 回答
1948 浏览

maven-surefire-plugin - maven-surefire-plugin, jacoco-maven-plugin 显示没有覆盖

我正在使用 maven-surefire-plugin 版本 2.17 和 maven。

我正在使用 jacoco-maven-plugin 来分析我的 junit 测试:

我在 pom.xml 中设置的 jacoco 插件如下所示:

我在 src/main/java/something/excel 下有一个类,如下所示:

我在 src/test/java/something/excel 下的测试类如下所示:

当我运行这个

我在日志中看到了这一点:

现在,如果我查看生成的 jacoco-ut 报告文件,我会看到如下内容:

据我了解,它认为没有涵盖任何行、指令、分支或方法。

为什么?帮助 :)

0 投票
1 回答
683 浏览

java - Manuel 在 Sonarqube 上测试代码覆盖率

我想使用 JaCoCo 获得代码覆盖率,并在几次手动和自动端到端测试后将其显示在 Sonarqube 上。目前,我们还可以收集JUnit在期间触发的测试覆盖率mvn test

看起来我需要使用 Jacoco Agent在 JVM 上检测代码。但我需要一些例子。首先,我需要知道我在哪里可以获得 Jacoco 代理?

0 投票
0 回答
96 浏览

maven - jacoco maven 单元测试用例surefire插件

我想运行单元测试用例并生成 jacoco 报告。

我在 src/main/java 下编写了代码,在 src/test/java 下编写了测试用例

下面是我的 pom.xml

当我使用 eclipse mvn clean install 或 mvn clean verify 或 mvn clean test 执行时,它执行测试用例但未生成结果。

0 投票
0 回答
728 浏览

java - 用于记录覆盖率的 Jacoco 自定义包规范

问题:如何配置 jacoco maven 插件以显示相对于自定义包的覆盖率报告?(而不是默认的:它正在执行的类的包)。

项目结构:

雅可可配置:

故障安全配置:

评论 :

1)我试图通过在多模块环境中通过从一个中央模块运行所有测试来超越多模块环境中不支持的聚合功能,该中心模块聚合了类路径中的所有其他模块并使用相同的包前缀其中com/my/prj/testprj/

2)问题:显示com/my/prj/testprj/starter包(包含测试类的包)的覆盖率报告。我想显示相对于com/my/prj/testprj/的覆盖率

3) IntelliJIdea IDE 通过让我指定记录覆盖率数据的包来轻松支持这一点(使用 Jacoco),请参见下文:

在此处输入图像描述

0 投票
0 回答
86 浏览

java - 聚合多个测试套件的覆盖率报告

我开发了一个 Maven 项目,其中我的代码有多个 testng.xml 文件。我目前正在使用 jacoco,它为每个测试提供了单独的覆盖率报告。

有没有办法将所有这些测试的覆盖率报告合并到一个 HTML 文件中?