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

问题描述 投票:1回答:1

如何使用Gradle获取有关空手道测试功能文件的Jacoco报告。

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

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

1)首先,我尝试通过gradle任务在jacocoagent.jar的帮助下生成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文件中看不到我的应用程序的任何类。我认为,我总是将覆盖率报告设为0%。

gradle jacoco karate
1个回答
0
投票

服务器正在我的本地8080端口上运行。

我认为这不会起作用。根据代码的结构,您需要检测服务器的代码。

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

© www.soinside.com 2019 - 2024. All rights reserved.