首页 > 解决方案 > Spring Boot 中的远程 Jacoco 代理不生成报告

问题描述

我正在使用jacocoagent.jar带有这些 JVM 参数的 Spring Boot 应用程序:

-javaagent:jacocoagent.jar=port=6300,address=*,destfile=jacoco-remote.exec,output=tcpserver

build.gradle 文件中,我有 jacoco 插件的下一个配置:

jacoco {
    toolVersion = "0.8.5"
}

test {
    jacoco {
        enabled = true
    }
}

e2eTest {
    jacoco {
        enabled = true
        address = "localhost"
        port = 6300
    }
}

e2eTest.finalizedBy jacocoTestReport

当我启动本地单元测试覆盖率报告的测试任务时,会在 build/jacoco 目录中创建 test.exec,并在 reports/jacoco 目录中创建 html 和 xml 报告。

但是当我通过远程代理启动 e2eTest 任务时,会在 build/jacoco 目录中创建 e2eTest.exec 文件,但不会在任何目录中创建 html 或 xml 报告。

你们中的任何人都知道我是否需要其他配置,或者我是否使用 jacocoagent 的正确 JMV 参数启动了应用程序。

提前致谢!

标签: gradlejacoco

解决方案


--debug尝试使用命令行选项运行 gradle 。它应该告诉你更多关于正在发生的事情。它可能被跳过,因为默认的 exec 文件不存在(或者它可能是最新的)

您可能/很可能需要JacocoReport为每个测试任务指定一个任务。每个报告任务由其自己的exec文件驱动


推荐阅读