如何在手动测试中生成 jacoco 覆盖率?
How to generate jacoco coverage in manual tests?
我在 wildfly 9 上有一个 Web 应用程序 运行 使用 gradle 构建它,我想获得手动测试的代码覆盖率,所以我开始使用 jacoco
这样做。到目前为止,我的 build.gradle
文件中的这个是用于在调试模式下启动 java 的:
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
options.debug = true
options.compilerArgs = ["-g"]
}
这用于定义 jacoco 报告
jacocoTestReport {
reports {
xml.enabled true
csv.enabled false
html.destination "${buildDir}/jacocoHtml"
}
}
但是,它不会生成 jacoco 文件夹,我想我遗漏了一些要点。
默认情况下,jacocoTestReport
任务不会连接到 DAG
以进行正常构建。要 运行 您可以从命令行调用以下命令
./gradlew test jacocoTestReport
如果你希望它在每次测试 运行 时都 运行(我不推荐),那么你可以将它连接到 [=16= 中的 DAG
]
test.finalizedBy 'jacocoTestReport' // not perfect since it will run when test fails
或者
check.dependsOn 'jacocoTestReport' // 'build' task calls 'check' which calls 'test'
JaCoCo 的使用涉及以下步骤:
- 执行检测代码(无论是手动测试还是自动测试)
- 生成报告
您在问题中提供的信息是关于 Java 文件的编译和报告的生成,但与 JVM 的执行无关。
根据 JVM 的启动方式(Gradle/Maven/Ant 插件等),有很多方法可以使用即时检测执行代码,但它们都归结为 JaCoCo Java Agent 的使用启动 JVM 时:
java -javaagent:jacocoagent.jar ...
这是为后端代码设置 jacoco java 代理的文章(用于手动和集成):http://sdetsforsdets.com/2018/03/19/code-coverage-jacoco/
我在 wildfly 9 上有一个 Web 应用程序 运行 使用 gradle 构建它,我想获得手动测试的代码覆盖率,所以我开始使用 jacoco
这样做。到目前为止,我的 build.gradle
文件中的这个是用于在调试模式下启动 java 的:
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
options.debug = true
options.compilerArgs = ["-g"]
}
这用于定义 jacoco 报告
jacocoTestReport {
reports {
xml.enabled true
csv.enabled false
html.destination "${buildDir}/jacocoHtml"
}
}
但是,它不会生成 jacoco 文件夹,我想我遗漏了一些要点。
默认情况下,jacocoTestReport
任务不会连接到 DAG
以进行正常构建。要 运行 您可以从命令行调用以下命令
./gradlew test jacocoTestReport
如果你希望它在每次测试 运行 时都 运行(我不推荐),那么你可以将它连接到 [=16= 中的 DAG
]
test.finalizedBy 'jacocoTestReport' // not perfect since it will run when test fails
或者
check.dependsOn 'jacocoTestReport' // 'build' task calls 'check' which calls 'test'
JaCoCo 的使用涉及以下步骤:
- 执行检测代码(无论是手动测试还是自动测试)
- 生成报告
您在问题中提供的信息是关于 Java 文件的编译和报告的生成,但与 JVM 的执行无关。
根据 JVM 的启动方式(Gradle/Maven/Ant 插件等),有很多方法可以使用即时检测执行代码,但它们都归结为 JaCoCo Java Agent 的使用启动 JVM 时:
java -javaagent:jacocoagent.jar ...
这是为后端代码设置 jacoco java 代理的文章(用于手动和集成):http://sdetsforsdets.com/2018/03/19/code-coverage-jacoco/