当前位置: 首页 > 知识库问答 >
问题:

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

齐嘉庆
2023-03-14

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

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

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

1) 首先,我试图在jacoagent的帮助下生成jacoco执行数据。用Gradle任务创建如下jar:

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%的覆盖率报告。

共有1个答案

潘嘉颖
2023-03-14

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

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

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

 类似资料:
  • 我需要在空手道测试的功能中使用动态值。 我遇到了一些类似这样的问题和答案:如何从excel电子表格中读取输入数据并在空手道框架中传递JSON负载? 但不管我怎么努力,我都做不到。我相信我应该分享我试图使用的代码部分,这样讨论就可以开始了。 我有一个创建新用户的SOAP请求,如下所示: 正如你所看到的,我有一些将从外部给出的变量,它们是:帐户号、子标识、子类型和移动。 现在,我有了一个特性文件,我在

  • 空手道api测试-如何从命令行读取标签名称到功能文件 我的功能文件 功能:验证从maven命令行读取的标记名 背景: 给定url baseURL 当param validation=我想在这里读取标记名时 然后方法get 然后状态200 @com_status@all@我想在这里读标签名 场景大纲:测试标签输入场景 打印我想在这里读取标记名 命令-mvn clean test-Dtest=Runn

  • 并将我的文件保存如下: Runner类: 把这个放到我的大楼里。格雷德尔: 但我得到的回应是: 但是,我不能看到我的测试是否通过。我做错了什么? 分级版本:2.14.1

  • 空手道标头示例不显示如何访问以外的配置值。当我切换环境(传递作为run命令的一部分)然后被正确设置。 问题是,我想使用这里所示的其他配置值,但是当我运行测试时,它无法访问正确。相反,我得到了这个错误 我的文件和。 (这里类似的问题,使用单独的:https://github.com/intuit/karate/issues/94)

  • 在我们的测试功能(用于API测试)中,我们在后台创建测试用例所需的数据(例如:用户,他们的数据...)。我们希望在不同的模式下使用相同的测试功能。如何在后台设置数据?我的意思是我们如何为我们的测试功能使用“不同的”背景。我们希望运行相同的测试功能: > 在管理或非管理模式下,所以在后台我们需要创建一个用户帐户,然后生成一个访问令牌,然后使用该令牌为该用户添加一些数据;该令牌用于每个场景; 对于注入

  • 你能帮助我有没有什么方法运行空手道跑者文件与TestNG框架工作。你的答案真的会让我们做出决定。 我经历了各种与空手道相关的测试的帖子。但不幸的是我无法触发我的脚本。 注意:我在代码中扩展了KarateRunner类并使用了@KarateOptions。