Manuel 在 Sonarqube 上测试代码覆盖率

Manuel Tests Code coverage on Sonarqube

我想使用 JaCoCo 获得代码覆盖率,并在多次手动和自动端到端测试后将其显示在 Sonarqube 上。目前,我们还可以收集在 mvn test

期间触发的 JUnit 测试覆盖率

看来我需要使用 JVM 检测代码 Jacoco Agent。但我需要一些例子。首先,我需要知道哪里可以买到Jacoco代理?

当您已经启动 Maven 并 运行ning 时,观察它的输出。 Jacoco 为 surefire 准备了一个参数行,其中包含一个指向代理的指针:

[INFO] --- jacoco-maven-plugin:0.7.5.201505241946:prepare-agent (pre-unit-test) @ examples ---
[INFO] jacoco.surefireArgLine set to -javaagent:E:\mvnrepository\org\jacoco\org.jacoco.agent\0.7.5.201505241946\org.jacoco.agent-0.7.5.201505241946-runtime.jar=destfile=E:\examples\target\jacoco-ut.exec,append=true,includes=org.example.*

生成的 argline 与您可能用于要为其生成覆盖率数据的 JVM 的基本相同:

-javaagent:E:\mvnrepository\org\jacoco\org.jacoco.agent\0.7.5.201505241946\org.jacoco.agent-0.7.5.201505241946-runtime.jar=destfile=E:\example\target\jacoco-ut.exec,append=true,includes=org.example.*

完成手动测试后,您必须重新运行 声纳分析以获取单元测试结果。请注意,argline 中的 destfile 必须指向您的 maven 结构中的一个位置。