问题标签 [jacoco-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.
android - JacocoReport 任务:通过简单地将子模块文件添加到 sourceDirectories 和 classDirectories 来获得整体覆盖?
工具版本
毕业 5.6.4
爪哇 1.8
jacoco 工具版本 0.8.2
项目结构
描述
(1) 进口jacoco.gradle
。
(1)、(2) 和 (3) 具有以下配置:
问题
我想得到一个全面的覆盖,我可以简单地在属性中包含子模块的文件classDirectories
,sourceDirectories
或者我将它们包含在 shell 中additionalClassDirs
吗?我真的不明白他们的区别。
这里是gradle/jacoco.gradle
由app/build.gradle
.
java - 我有多级模块项目,但声纳 qube 正在提供累积测试报告,但我没有运行任何聚合/附加配置,知道吗?
我正在使用 JDK1.8、maven 3.3、Jacoco 0.8.7 sonarqube 插件 6.7.6
Pom.xml
Jenkins 命令 -Dmaven.test.failure.ignore=true -U clean org.jacoco:jacoco-maven-plugin:0.8.7:prepare-agent org.jacoco:jacoco-maven-plugin:0.8.7:report test
android - Jacoco Gradle Plugin:如何从子模块生成检测的 jar 文件?
工具版本
- 毕业 5.6.4
- 爪哇 1.8
- jacoco 工具版本 0.8.2
项目结构
描述
我希望针对 UI 测试中生成的执行数据对应用程序和每个子模块进行代码覆盖。
将子模块引入主项目应用程序的方式有 3 种:
直接依赖:
申报
implementation project(':submodule_1')
_build.gradle (1)
间接依赖:
申报
implementation project(':submodule_2')
_build.gradle (2)
间接依赖 - jar:
compileOnly fileTree(include: '*.jar', dir: '../exclude_libs')
在其他子模块中声明,其中submodule_3
被打包到一个名为exclude_libs的目录下的 jar 中。
对于 Type 1 和 Type 2, Jacoco根据这个 issue通过将以下配置添加到 build.gradle 来成功处理它们。似乎 gradle 会自动选择对app:assembleDebug
任务使用调试类型的子模块。
但是,此方法不适用于 Type 3。
问题:如何从子模块生成检测的 jar 文件?
我找到了一个相关的问题,但我认为它是无助的,因为我想在与 jacoco-plugin 捆绑之前/期间处理代码。
以下代码显示了生成 jar 文件的任务build.gradle (4)
:
我试过的
由于我发现testCoverageEnabled true
不适用于release
构建类型,因此我认为调试版本可能会起作用。
- 加入.
buildTypes {debug{ testCoverageEnabled true }}
_build.gradle (4)
- 修改
aarFile
和依赖任务如下 - 执行
buildBasePlugin
任务以更新exclude_libs中的 jar 。 - 清理并重建项目,然后运行
app:assembleDebug
以获取apk文件。
结果:检查apk中submodule_3的类的字节码,没有找到 Jacoco 的指令,这意味着 jar 文件没有被检测。我不知道出了什么问题。
jacoco - 在 JACOCO (Eclipse IDE) 中进行单元和集成测试的步骤是什么
我是一个初学者,正在寻找在 Eclipse IDE 中使用 JACOCO 插件对 java 代码进行单元和集成测试的指导,请不要忘记指定如何存根任何函数或类
gradle - gradle jacoco 找不到 org.jacoco:org.jacoco.ant:0.8.5
这很可能只是 Gradle 初学者的问题,但我似乎无法弄清楚。
我试图让 jacocoTestReport 的基本任务运行为我已经交给我的 Gradle 项目的多项目构建。
在根项目 build.gradle 文件中,我们有:
在依赖项下,我们有:
这个 zip 文件jacoco-0.8.5.201910111838.zip包含:
- 覆盖范围
- 文档
- 库
- jacocoagent.jar
- jacocoant.jar
- jacococli.jar
- org.jacoco.agent-0.8.5.201910111838.jar
- org.jacoco.ant-0.8.5.201910111838.jar
- org.jacoco.core-0.8.5.201910111838.jar
- org.jacoco.report-0.8.5.201910111838.jar
- 测试
- 索引.html
为简洁起见,我没有将文件包含在 lib 以外的其他文件夹中。
在 dependencies.build.gradle 文件中,我们引用了:
运行./gradlew.bat 任务时,我可以看到正在验证的任务jacocoTestReport
当我尝试运行 ./gradlew.bat jacocoTestReport 时,出现以下错误:
- 出了什么问题:任务“:myProject:jacocoTestReport”执行失败。
无法解析配置 ':myProject:jacocoAnt' 的所有文件。找不到 org.jacoco:org.jacoco.ant:0.8.5。在以下位置搜索: - file:/C:/the/folder/with/zipFile/org.jacoco.ant-0.8.5.jar - file:/C:/the/folder/with/zipFile/org.jacoco .ant-0.8.5.jar - 文件:/C:/a/folder/without/zipFile/org.jacoco.ant-0.8.5.jar - 文件:/C:/a/folder/without/zipFile/org .jacoco.ant-0.8.5.jar - 文件:/C:/the/folder/with/zipFile/org.jacoco.ant-0.8.5.jar - 文件:/C:/another/folder/withOut/zipFile /org.jacoco.ant-0.8.5.jar - 文件:/C:/another/folder/without/zipFile/org.jacoco.ant.jar 要求:项目:myProject
这是一个相当大的 Gradle 文件,因此作为一个 Gradle 初学者,需要经历很多事情,我发现了对此存储库设置的各种参考:
与 zip 文件位置匹配。
如果 Gradle 可以找到 zip 文件并使用 jacocoAgent(在 zip 文件中作为 jar 包),为什么它不能在同一个 zip 文件中使用 ant jar?
这是将 Gradle 包装器与 Gradle 版本 6.5 一起用于多 Java 项目应用程序。
gradle - 在 Jacoco 的 jacocoTestReport.xml 文件中包含多个源集
我在基于 Gradle 的项目中定义了一个自定义 sourceSet,如下所示:
sourceSet 包含 Cucumber 功能。
运行 Jacoco 时,生成的jacocoTestReport.xml文件似乎不包括 Cucumber 测试生成的覆盖率。
这是 Jacoco 配置:
我能做些什么来在 xml 文件中获得与在 exec 文件中相同的覆盖率吗?
testing - 'JacocoTaskExtension' 不存在于 jdk11 、 AGP 7.0.+ 和 ,Gradle 7.0.+
jacoco 与 AGP 4.0.1、gradle 6.+、jdk1.8 的工作方式类似,但在下面的升级 gradle 版本中找不到错误“JacocoTaskExtension”。
重现步骤:
我无法在下面的 kotlin 类CodeCoveragePlugin中导入JacocoTaskExtension 它在 jkd 1.8 上运行良好,但在 jdk11 下运行良好
为什么我使用 jdk11 ?
jdk11 对于 agp 7.+ 和 gradle 7.+ 是必需的
我的最终目标:使用 agp7.+
java - 使用 SonarQube 对我的 Spring 批处理项目没有代码覆盖
我正在尝试为我的项目生成 SonarQube 报告,但是尽管使用“JobLauncherTestUtils”执行了完整的工作流程,但我得到了0%的代码覆盖率。我尝试了很多方法,比如升级 Jacoco 版本等,但没有任何效果。
maven - JaCoCo 随机生成报告失败
我在 Maven 中使用 quarkus-jacoco 插件。虽然大多数时候它在 target/jacoco-report/jacoco.xml 下生成报告,但有几次随机失败并导致 target/jacoco-report/error.txt
error.txt 结果:
Failed to generate Jacoco reports java.io.EOFException at java.base/java.io.DataInputStream.readUnsignedShort(DataInputStream.java:345) at java.base/java.io.DataInputStream.readUTF(DataInputStream.java:594) at java.base/java.io.DataInputStream.readUTF(DataInputStream.java:569) at org.jacoco.core.data.ExecutionDataReader.readExecutionData(ExecutionDataReader.java:149) at org.jacoco.core.data.ExecutionDataReader.readBlock(ExecutionDataReader.java:116) at org.jacoco.core.data.ExecutionDataReader.read(ExecutionDataReader.java:93) at org.jacoco.core.tools.ExecFileLoader.load(ExecFileLoader.java:60) at org.jacoco.core.tools.ExecFileLoader.load(ExecFileLoader.java:74) at io.quarkus.jacoco.runtime.ReportCreator.run(ReportCreator.java:72) at java.base/java.lang.Thread.run(Thread.java:829)
我确实搜索并发现其他人在谈论 EOFException,这表明 exec 文件被截断,但我不确定这是否是我的情况。有什么建议么?
提前致谢!
spring-boot - 通过运行功能自动化测试执行(不是单元测试)来查找 Spring Boot 应用程序的代码覆盖率
通常,我们使用 Jacoco 和单元测试用例通过单元测试找到代码覆盖率,但是我的开发经理询问我们是否可以使用现有的功能自动化测试来找到 Spring Boot 应用程序的代码覆盖率。我的功能测试使用 testng/restassured 并存储在单独的代码仓库中,而不是在开发源代码仓库中。
如果真的可能,请建议如何做到这一点。感谢是否有人可以指导和分享链接以供参考。
谢谢。