- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
在运行 Gradle 的 Jacoco 插件时,我在一组选定的类上报告的代码覆盖率为零。我已确认测试这些类的所有单元测试已成功运行。
非常有趣的是,Eclipse 中的 EclEmma 生成了正确的代码覆盖率结果。我已确认这两个工具使用的是相同版本的 Jacoco。
我想弄清楚这两种工具之间的区别是什么?我需要 Gradle Jacoco 插件的额外配置吗?
编辑:我的 Gradle Jacoco 输出显示“类 com/.... 的执行数据不匹配”
更新:我在 Eclipse 中打开了 Jacoco 生成的 test.exec 文件。它显示缺少覆盖率的类执行了 80% 的探测。
最佳答案
这可能意味着 jacoco 插件没有在 gradle 中正确配置。在这里您可以找到 Jacoco 和 gradle 的常见错误 list (感谢 Taeho Kim 的明确回答):https://stackoverflow.com/a/23965581/2166900
此外,这是我在上一个 Android 项目中使用的配置,对我有用:
apply plugin: 'jacoco'
jacoco {
toolVersion = "0.7.2.+"
}
def coverageSourceDirs = [
'src/main/java'
]
task jacocoTestReport(type:JacocoReport, dependsOn: "testDebug") {
group = "Reporting"
description = "Generate Jacoco coverage reports"
classDirectories = fileTree(
dir: 'build/intermediates/classes/debug',
excludes: ['**/R.class',
'**/R$*.class',
'**/*$ViewInjector*.*',
'**/BuildConfig.*',
'**/Manifest*.*']
)
additionalSourceDirs = files(coverageSourceDirs)
sourceDirectories = files(coverageSourceDirs)
executionData = files('build/jacoco/testDebug.exec')
reports {
xml.enabled = false
html.enabled = true
}
}
关于java - Gradle Jacoco 插件报告零覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30382982/
我在我的一个模块中通过 JaCoCo 生成 AHP 报告时遇到问题。当构建开始时,我看到 JaCoCo 正确设置 argLine 为: [INFO] jacoco.agent.argLine set
我正在尝试将 JaCoCo 添加到我的 Android 以覆盖 Sonar Qube。但是在运行命令 ./gradlew jacocoTestReport 时,我收到以下错误。 Task :app:
我用过 lombok.@UtilityClass到: 生成私有(private)构造函数 使类(class)最终 将实用程序类中的所有字段设为静态 并且 Jacoco 不涵盖 Lombok 生成的代码
我正尝试在我的 project 上创建一个 jacoco 报告.该项目是 java 12 版本,jacoco-maven-plugin 是 0.8.5 版本。
我的项目是使用 Maven 构建的。我使用“Jacoco”插件来执行质量检查。 对于一个项目,我想在线检查测试覆盖率。我只想检查仅 3 个包裹的线路覆盖率。如何指定此检查? 我尝试“包括”一些软件包,
我有一个 Maven 项目(Java)的 jacoco-agent 生成文件,名为 jacoco.exec . 如何将此文件转换为人类可读的格式? (HTML/XML)。 最佳答案 我相信这是在 of
我正在使用 Bamboo、SonarQube 和 Maven 插件在 SonarQube 中生成 Jacoco 报告。它正在生成 jacoco.exec 文件,但如何在 SonarQube 中显示报告
我正在运行 Jacoco 的 Maven 插件。 prepare-agent 目标运行良好,但由于某种原因没有生成 jacoco.exec 文件。随后,报告目标提示由于缺少执行数据文件而跳过 JaCo
我在我的项目中设置了 Jacoco 来执行 a) 检查代码覆盖率和 b) 生成覆盖率报告。生成的 HTML 报告显示了正确的覆盖率值,但 Jacoco 检查在构建过程结束时生成的警告消息显示了不同的错
我用的是官方example Socket server为我的 jacocoagent.jar 启动一个套接字服务器来连接。我这样启动我的目标 jar : java -javaagent:jacocoa
当 Jacoco 代码覆盖率低于一定百分比时,我试图使 Gradle 构建失败。 ...
我有一个 maven 项目,使用“测试”阶段和“集成测试”阶段。在测试阶段,执行 JUnit 测试,在集成测试中有 HTMLUnit 测试。我正在使用 Jacoco[1]-maven-plugin 来
我遇到以下错误: Plugin execution not covered by lifecycle configuration: org.jacoco:jacoco-maven-plugin:0.7
我在 Tomcat 上部署了一个 Web 应用程序。在我进入更多细节之前,让我详细说明这些版本。 版本:jdk 1.7,Tomcat - 7.0.19,jacoco -0.5.6 我已将jdk1.7
我按照以下步骤使用 jacoco 测量代码覆盖率: 我已经使用 jacoco 代理动态检测了我的应用程序 wars 文件。 启动 tomcat 服务器。 运行一些测试用例。 已停止 tomcat 服务
我将我的 Ant 任务配置为
我正在尝试让 jacoco+gradle 一起工作。看看这个论坛,似乎有些人已经成功地做到了。但是当我尝试时,我遇到了一个奇怪的异常。 我做了什么: 1.下载gradle 2.2.1并配置环境变量等。
我正在开发 SAML One Login Toolkit,并从 GitHub 获取了最新的主分支 here并使用 Eclipse Oxygen。它应该手动解决所有 Maven 依赖项,但不幸的是事实并
SonarQube 7.7 针对 Java 项目分析显示以下警告: Property 'sonar.jacoco.reportPath' is deprecated (JaCoCo binary fo
我有一个在 jboss 7.1.3 上部署并使用 arquillian 进行测试的项目,我正在尝试向其中添加代码覆盖率指标。 我正在使用托管容器选项(jboss-as-arquillian-conta
我是一名优秀的程序员,十分优秀!