簡體   English   中英

如何使用 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 文件中沒有看到我的應用程序的任何類。 我認為,因為我總是得到 0% 的覆蓋率報告。

服務器在我本地的 8080 端口上運行。

我認為這不會奏效。 根據您的代碼的結構,您需要檢測服務器的代碼。

我建議嘗試對 Java 方法進行簡單的單元測試以使用 Gradle。 如果可行,那么對服務器端代碼使用相同的方法,它將起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM