Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用gradle获取空手道测试功能文件的Jacoco报告_Gradle_Jacoco_Karate - Fatal编程技术网

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

如何使用gradle获取空手道测试功能文件的Jacoco报告,gradle,jacoco,karate,Gradle,Jacoco,Karate,如何使用Gradle获取空手道测试功能文件的Jacoco报告 我的项目是一个Gradle项目,我正在尝试将jacoco报告功能集成到我的项目中,用于空手道测试。服务器正在我的本地8080端口上运行 我正在采用以下方法生成jacoco报告,请告知我的方法是否正确,并为我提供一个解决方案,以获得gradle项目的jacoco报告 1) 首先,我尝试在jacocagent.jar的帮助下,通过Gradle任务生成jacoco执行数据,如下所示: java -javaagent:/pathtojacoc

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

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

我正在采用以下方法生成jacoco报告,请告知我的方法是否正确,并为我提供一个解决方案,以获得gradle项目的jacoco报告

1) 首先,我尝试在jacocagent.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%的覆盖率报告

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

我认为那是行不通的。根据代码的结构,您需要插入服务器的代码


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

在同一个项目中,对于单元测试,生成的jacoco报告具有代码覆盖率,单元测试在同一JVM上运行,并且类文件可用,但对于空手道测试,报告的覆盖率为0%。我试图使用javaagent.jar来检测server@HimaBindu这是正确的-理想情况下,服务器必须在同一个JVM中启动,这是现有的空手道示例:-对不起,我不能帮助任何其他方法,我听说这是可能的,但很困难-这里有一个链接可能会有所帮助