问题标签 [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 回答
1298 浏览

java - Jacoco 代理不测量任何代码覆盖率

在 Maven 构建过程中,我使用process-exec-maven-pluginFailsafe 启动我的应用程序并运行集成测试。现在我想从被测应用程序中获取覆盖率数据。

问题是,覆盖率报告包含我的应用程序的所有类,但没有覆盖率数据(全部为 0%)。当我将 jacoco 代理附加到故障安全插件时,它会为测试类生成代码覆盖率,这并没有真正的帮助。

有任何想法吗?

process-exec-maven-plugin 配置:

使用以下 Jacoco 配置:

0 投票
0 回答
629 浏览

java - 将 sonar-maven-plugin 与 jacoco 一起使用时的 SonarQube 测试覆盖率问题

我们有一个多模块 maven 项目,其中 sonar-maven-plugin 和 jacoco maven-plugin 在父 pom 中定义:

现在我们有一个子模块 common,再次包含其他子模块:

项目结构

在子模块common中,maven结构如下:

子模块核心具有以下maven结构:

现在我的问题是,在我的 SonarQube 报告中,我看到了未发现的行:

测试覆盖率

公共主项目包含子模块(公共核心,...)中所有未发现的行。我希望只有公共核心模块会包含这些行。

在文件系统中,我看到在 common/target 文件夹下生成了一个 jacoco.exec。在子目录 common 中,我没有看到正在创建这个文件,而是看到了一个文件 common/core/target/sonar/jacoco-overall.exec

0 投票
4 回答
7558 浏览

java - 如何添加静态成员变量 Jacoco 测试覆盖率?

我有一堂课如下:

我在我的测试中使用了这两个变量,但是当我用 Jacoco 检查测试覆盖率时,它显示这个类的 %0 测试覆盖率。我的猜测是,这是因为我从不实例化这个类,只使用它的静态变量。我尝试创建一个实例,测试覆盖率达到 %100。我该如何克服这个问题?

0 投票
1 回答
7953 浏览

maven - 站点中未生成 Jacoco 报告

mvn 构建站点时不会生成 Jacoco 报告。

Jacoco 报告是在 target\site\jacoco 的目标文件夹中生成的,但是当我尝试构建 jar 站点时,不知何故我无法在“项目报告”下看到“Jacoco 测试”选项

我在生成站点时在日志中看到的唯一内容如下:

我正在使用命令 mvn clean install site

这就是我在构建部分的 pom.xml 中配置 jacoco 的方式:

Jacoco 插件的名称如下:

我不确定是什么导致了这个问题,而不是在我的网站上生成 Jacoco 报告。

虽然我可以在我的日志中看到以下内容

谢谢 !!!

0 投票
1 回答
347 浏览

maven - who and when creates jacoco.exe files?

Maven call: mvn -e org.jacoco:jacoco-maven-plugin:0.7.4.201502262128:prepare-agent install -Dmaven.test.error.ignore=true -Dmaven.test.failure.ignore=true

the build takes a while. I assume having "jacoco.exec" files is crucial for reporting code coverage, so I wanted to see if any "jacoco.exec" files were created - without waiting for the whole build&analysis to complete.

so far I don't see any "jacoco.exec" files.

I am wondering when exactly these files are supposed to be created: after the complete Maven build or after each module?

0 投票
0 回答
1228 浏览

java - Jacoco 集成测试报告不正确

我有一个restful api,集成测试用例的工作流程是我们构建项目->然后在预定义的端口上使用maven启动一个tomcat->在该tomcat实例上部署构建的war,然后maven运行集成测试用例到那场战争。只有当单元以及集成测试用例通过时,构建才会成功。我想为集成以及单元测试用例生成代码覆盖率报告。尽管 Jacoco 为单元测试用例正确生成报告,但它没有为集成测试用例生成正确报告。正如在所有文件夹中显示的那样,覆盖率为零。

在故障安全插件上:

0 投票
0 回答
660 浏览

java - 捕获有关代码覆盖率的日志条目

我正在使用 Maven Surefire 插件来运行我的项目的单元测试,并使用 Jacoco 来进行代码覆盖。我的项目中有一个严格的覆盖标准,但我的问题是 Jacoco 没有捕获日志记录级别的特定行,并且弄乱了我的覆盖统计信息。例如:

将无法识别日志条目代码行。有什么办法可以解决吗?

0 投票
1 回答
2395 浏览

sonarqube - Sonar + Jacoco + maven:我可以通过简单地向声纳提供 jacoco.exec 文件来获得代码覆盖率吗?

我正在尝试计算单元测试和功能测试的代码覆盖率。运行单元测试后,我生成 jacoco.exec 文件。同样,对于功能测试,我得到 jacoco-it.exec 文件。

现在我想提供这些文件作为声纳的输入,如下所示:

mvn sonar:sonar -Dsonar.jdbc.url="jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8" -Dsonar.jdbc.username=sonar -Dsonar.jdbc.password=sonar -Dsonar.host .url= http://localhost:9000 -Dsonar.jacoco.reportPath=jacoco.exec -Dsonar.jacoco.itReportPath=jacoco-it.exec

但声纳在仪表板上生成 0% 的覆盖率。有没有其他方法可以计算 jacoco.exec 文件的覆盖率,而无需提供我的源代码/二进制文件来分析它?

0 投票
1 回答
2088 浏览

maven - 在 Maven 多模块项目中合并声纳指标

我继承了一个奇怪的 Maven 多模块项目。标准业务类和单元测试位于一个名为“代码”的模块中,我们为该模块提供了很好的简单工作声纳指标。第二个模块包含针对部署的 glassfish 服务器运行的各种集成样式测试,这些测试在 integ-test 模块中作为单元测试运行。

我知道最简单的选择是将“集成测试”类移动到“代码”模块中,并将它们重构为真正的集成测试,但目前这不是一个选择。

我已经找到了一种方法来记录“integ-tests”模块的代码覆盖级别,方法是使用 jacoco:dump 目标将 jacococ.exec 下载到 integ-test 模块。

我的 maven pom 结构现在看起来像这样

我目前的方法是合并“integ-test”模块中的所有 jacococ.exec 文件,并使用“destFile”值将这些详细信息保存为“code”模块作为 jacoco-it.exec 文件。然后,标准的 sonar:sonar 目标应该选择该文件并将其用作集成测试覆盖率。

我的根级别 pom.xml 定义了这个 jacoco-maven-plugin 配置

我已将 jacoco:merge 目标链接到 maven 后集成测试阶段,以确保在运行测试后进行合并,但始终在“integ-test”文件夹中创建“jacoco-it.exec”文件.

有什么建议么?

0 投票
0 回答
419 浏览

unit-testing - 使用 jacoco、maven 和 sonar 测试覆盖率

我有更多的理论问题。我们有一个具有复杂模块层次结构的项目。目标是测量单元测试覆盖率,未来还会测量集成测试覆盖率。

为了在不同的项目 pom 中正确放置测试依赖、插件和配置,我需要了解以下插件之间的相互作用:

  • 故障保护
  • 万无一失
  • 雅可可

我所知道的是,failsafe 生成集成测试报告,surefire 生成单元测试报告,而 jacoco 可以使用两者来生成测试覆盖率报告。

我需要知道的是:

  • jacoco 如何与故障安全和万无一失进行交互?
  • jacoco 需要故障保险和万无一失吗?
  • 您能否解释一下 jacoco 配置,特别是为什么会出现 argLine 的问题?

我发现很多示例分散,并且让 jacoco 插件正常工作,但我的目标是将所有配置等放置在实际需要它们的地方,这样它们就不会污染 maven 依赖层次结构。