如何使用 gradle 获取空手道测试功能文件的 Jacoco 报告

How to get Jacoco reports for the Karate test feature files using gradle

如何使用 Gradle.

获取空手道测试功能文件的 Jacoco 报告

我的项目是一个 Gradle 项目,我正在尝试将 jacoco 报告功能集成到我的项目中以进行空手道测试。服务器是 运行 在我本地的 8080 端口。

我正在按照以下方式生成 jacoco 报告,请告诉我我的方法是否正确,并给我一个解决方案来获取 gradle 项目的 jacoco 报告。

1) 首先,我尝试在 jacocoagent.jar 的帮助下生成 jacoco 执行数据,如下所示 Gradle 任务:

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 of that I always get the coverage report as 0%.

The server is running in my local on 8080 port.

我认为这行不通。根据代码的结构,您需要检测服务器代码。

我建议尝试对 Java 方法进行简单的单元测试以使用 Gradle。如果可行,则对服务器端代码使用相同的方法,它就会起作用。