【发布时间】:2021-07-09 11:08:10
【问题描述】:
如何使用 Gradle 获取空手道测试功能文件的 Jacoco 报告。
我的项目是一个 Gradle 项目,我正在尝试将 jacoco 报告功能集成到我的项目中以进行空手道测试。服务器在我本地的 8080 端口上运行。
我正在按照以下方式生成 jacoco 报告,请让我知道我的方法是否正确,并给我一个解决方案来获取 gradle 项目的 jacoco 报告。
1) 首先,我尝试在 jacocoagent.jar 的帮助下使用 Gradle 任务生成 jacoco 执行数据,如下所示:
java -javaagent:/pathtojacocojar/jacocoagent.jar=destfile=/pathtojocofile/jacoco.exec -jar my-app.jar
2) 接下来,我正在运行 Gradle 任务来生成报告
project.task ('jacocoAPIReport',type: org.gradle.testing.jacoco.tasks.JacocoReport) {
additionalSourceDirs = files(project.sourceSets.main.allSource.srcDirs)
sourceDirectories = files(project.sourceSets.main.allSource.srcDirs)
classDirectories = files(project.sourceSets.main.output)
executionData = fileTree(dir: project.projectDir, includes: ["**/*.exec", "**/*.ec"])
reports {
html.enabled = true
xml.enabled = true
csv.enabled = false
}
onlyIf = {
true
}
doFirst {
executionData = files(executionData.findAll {
it.exists()
})
}
}
project.task('apiTest', type: Test) {
description = 'Runs the api tests'
group = 'verification'
testClassesDirs = project.sourceSets.apiTest.output.classesDirs
classpath =
project.sourceSets.apiTest.runtimeClasspath
useJUnitPlatform()
outputs.upToDateWhen { false }
finalizedBy jacocoAPIReport
}
我在 jococo.exec 文件中没有看到我的应用程序的任何类。我认为,bcz 我总是将覆盖率报告设为 0%。
【问题讨论】: