我有一个在wildfly 9上运行的web应用程序,使用gradle来构建它,我想获得手动测试的代码覆盖率,所以我开始使用render()
{
if(this.mainSNLElement != null)
{
this.savedMainState = this.mainSNLElement.state;
}
...
}
mainSNL()
{
return (
<StreamedNoteList
ref={(streamedList) => { this.mainSNLElement = streamedList; } }
importState={this.savedMainState}
/* long list of props*/
/>
)
}
linkTabs() { ... }
这样做。到目前为止,我在jacoco
文件中的这个用于在调试模式下启动java:
build.gradle
这用于定义jacoco报告
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
options.debug = true
options.compilerArgs = ["-g"]
}
然而,它不会生成jacoco文件夹,我想我错过了一些点或什么的。
答案 0 :(得分:1)
JaCoCo的使用涉及以下步骤:
您在问题中提供的信息 - 关于Java文件的编译和报告的生成,但没有关于JVM的执行。
根据JVM的启动方式(Gradle / Maven / Ant插件等),有许多方法可以使用动态检测来执行代码,但是在启动时它们都归结为JaCoCo Java Agent的使用JVM:
java -javaagent:jacocoagent.jar ...
答案 1 :(得分:0)
默认情况下,jacocoTestReport
任务未连接到DAG
以进行正常构建。要运行它,您可以从命令行调用以下内容
./gradlew test jacocoTestReport
如果您希望每次测试运行时都运行(我不推荐),那么您可以将其连接到DAG
build.gradle
test.finalizedBy 'jacocoTestReport' // not perfect since it will run when test fails
或者
check.dependsOn 'jacocoTestReport' // 'build' task calls 'check' which calls 'test'
答案 2 :(得分:0)
这里是为后端代码设置jacoco java代理的文章(用于手动和集成):http://sdetsforsdets.com/2018/03/19/code-coverage-jacoco/