问题标签 [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.
gradle - Jacoco 无法在 Gradle 构建中读取执行数据文件
我正在使用 Gradle 6.6.1 和最新的 Jacoco 插件版本。
在我的构建文件中使用以下内容:
如果我运行gradle buildTests jacocoTestReport
JacocoTestReport 任务失败并显示“无法读取执行数据文件projectPath /build/jacoco/test.exec”
这是因为执行数据文件是 buildTests.exec 而不是 test.exec。
我的印象是,将任务传递给 executionData() 会导致获取正确的执行数据文件。
如果我有以下情况,我会得到相同的行为:
gradle - 带有 JacocoPluginExtension 的 NullPointerException
我正在使用最新的 gradle (6.8) 在 Azure DevOps 中运行构建,我得到了 NPE:
我在 build.gradle 有这样的配置:
我在 Azure DevOps 管道中有这样的配置:
任何想法为什么会发生?
grails - 如何让 sonarqube 拾取 jacoco 测试覆盖率报告
我有使用 jacoco 插件的 gradle 项目
现在我的本地我可以在默认位置报告/jacoco/test/html/index.html 看到测试覆盖率报告
我应该输入任何其他信息吗?
java - 使用 Gradle 将多个 JaCoCo .exec 文件聚合到一个覆盖率报告中
情况 我正在开发一个运行良好的 Spring Boot 应用程序,但是构建-测试周期需要很长时间,在普通的开发环境中不实用。
所以,我最近决定将我的单元测试和集成测试分开。集成测试基于 Cucumber,而单元测试是纯 JUnit 5 测试。
为此,我使用了 Gradle 插件org.unbroken-dome.test-sets
,它很好地创建了相关的 sourceSets 等。
一切运行良好,我的测试按预期执行。当我进行构建时仍会执行单元测试,而当我调用“gradlew intTest”时会执行集成测试。这是设计使然,因为我不想一直执行所有测试。
运行测试后,我还有一个jacoco/test.exec
文件和一个jacoco/inttest.exec
文件。所有这些都是设计和测试集插件所宣传的。
问题
这是我的问题。当我的所有测试仍在 test-SourceSet 中时,因此在拆分之前并且仅test.exec
生成文件时,JaCoCo 报告的覆盖率约为 75%。但是现在我已经拆分了测试并拥有了test.exec
文件intTest.exec
,JaCoCo 只报告了 15% 的覆盖率,考虑到我的单元测试和集成测试的范围,这几乎是正确的。
问题
我怎样才能让 JaCoCo 同时使用test.exec
和intTest.exec
文件来报告覆盖率并允许覆盖率验证任务再次考虑两者?
相关代码 这里是一些相关代码:jacoco.gradle
来自 build.gradle 的片段:
和
提前感谢您帮助我或指出我正确的方向。
java - 使用带有 Java 15 的 JaCoCo 插件进行 Gradle 测试失败?
在https://github.com/gradle/gradle/issues/15038中似乎提到了这个问题,但是从该线程中不清楚如何解决它,所以在这里发布。我正在运行 Java 15:
和 Gradle 6.6.1:
我已经开始了一个测试项目,选择Application
它的类型,并添加了jacoco
插件:
但是,如果我尝试./gradlew test
我得到以下错误:
前面提到的 GitHub 问题页面似乎说可以通过指定项目扩展名(https://docs.gradle.org/6.7/userguide/jacoco_plugin.html#sec:configuring_the_jacoco_plugintoolVersion
)来解决这个错误,但目前还不清楚我要选择哪个工具版本;我试过了jacoco
但具有相同的错误结果。知道如何解决此错误吗?
eclipse - 在没有 Maven 或 Gradle 的情况下运行 jacoco 报告
我们希望在我们的一些 Java 项目中覆盖我们的 Jacoco 代码。不幸的是,他们的 maven 和 gradle 配置不包括生成 Jacoco 测试报告。
有 40 多个 Java 项目,我没有时间修复他们所有的 pom.xml 或 gradle 构建文件以添加 jacoco 测试覆盖率报告。扫描它们以查找代码覆盖率的最快方法是什么?有没有办法做到这一点而无需修改 pom.xml 或 gradle 构建文件。
我正在使用 Eclipse IDE
spring-boot - 使用 Jacoco 插件排除代码覆盖但不起作用
基本上 sonarqube 使用 jacoco 进行代码覆盖。但我想从覆盖范围中排除几个类。根据我在 pom.xml 中使用下面提到的插件的几个文档。
可悲的是它不起作用。需要帮助。
spring-boot - 使用 Spring Boot 时使用 JaCoCo 代码覆盖率构建 Gradle 多项目失败
从https://docs.gradle.org/current/samples/sample_jvm_multi_project_with_code_coverage.html的示例开始(即这里的代码https://github.com/gradle/gradle/tree/master/subprojects/docs/src/ samples/java/jvm-multi-project-with-code-coverageapplication/build.gradle
)并通过更改 为简单地添加 Spring Boot
并更改application/src/main/java/org/gradle/sample/app/Main.java
为
将打破这个例子(完整的工作,或者更确切地说是非工作的例子:https ://github.com/SamuelBucheliZ/gradle-jvm-multi-project-with-code-coverage/tree/57e57b8bf24ef4208d9a03a361714c916701e599 )。
打电话时
它会失败
我怀疑这可能与https://github.com/jacoco/jacoco/issues/407有关。但是,我的问题是是否有任何方法可以解决此问题。不幸的是, https://docs.gradle.org/current/userguide/jacoco_plugin.html上的官方文档没有提供有关此主题的任何指导。
删除它将使构建再次工作。但是,代码覆盖率报告是空的。有什么办法可以调整它,所以它只会包含项目本身的代码,而不包含外部jar等?
android - Jacoco 没有分析接口的内联扩展功能
我在 Android 项目中有以下带有扩展功能的接口
虽然扩展功能有测试,但在生成 Jacoco 测试报告时,我在此文件中看到 0% 的覆盖率。使用 Android Studio 运行覆盖率测试时,我看到了正确的覆盖率。
值得一提的是,Jacoco 和 Android Studio 报告中似乎都涵盖了非内联扩展功能。
我应该如何设置 Jacoco 以myExtensionFunction
在覆盖率报告中包含测试?