程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Gradle jacoco代码覆盖范围-然后在Jenkins中发布/显示大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Gradle jacoco代码覆盖范围-然后在jenkins中发布/显示?

开发过程中遇到Gradle jacoco代码覆盖范围-然后在jenkins中发布/显示的问题如何解决?下面主要结合日常开发的经验,给出你关于Gradle jacoco代码覆盖范围-然后在jenkins中发布/显示的解决方法建议,希望对你解决Gradle jacoco代码覆盖范围-然后在jenkins中发布/显示有所启发或帮助;

得到它的工作。

Gradle 1.7-下载包含二进制文件/ src和文档的.zip。-转到文件夹:如果您将上述.zip文件解压缩到C:\ gradle-1.7 C:\ gradle-1.7 \ samples \ tesTing \ jacoco \ quickstart

  • 运行:gradle build jacocoTestReport

  • 构建后,您将看到一个新的文件夹“ build”。–如果仅调用构建任务,则使用类转储和.exec创建文件夹jacoco。–创建文件夹jacoco和jacocoHTML –如果同时调用了两个版本的jacocoTestReport

玩得开心。

我还看到最好包括:

the following section in build.gradle

/////
 tasks.withType(CompilE) {
 options.deBUG = true
 options.compilerArgs = ["-g"]
 }
 ////

解决方法

我正在尝试为Java应用程序项目设置代码覆盖率。

项目名称:NewApp

项目结构:

  • src / java / **(源代码)
  • src / java-test(单元测试-Jnuit)
  • 测试/ it测试(集成测试)
  • 测试/测试(验收测试)
  • tomcat / *(包含tomcat启动/停止脚本)
  • xx / .. etc是常规应用程序所需的文件夹。

摇篮版本:1.6

环境:Linux

我有一个正在运行的gradle构建脚本,该脚本从构建工件存储库(例如artifactory /
maven)中获取应用程序(NewApp)依赖项(即应用程序用于构建过程的服务jar),并构建应用程序。

现在,我想为我的NewApp应用程序项目使用JaCoCo插件获得代码覆盖。

我按照Gradle / Jacoco的文档进行操作,但似乎没有为jacoco等创建任何report /
&Hellip;文件夹,在这里我可以找到Jacoco承保范围报告的内容。

我的问题:1.为了获得使用单元测试(Junit)的代码覆盖率,我假设我要做的就是以下操作,并且它不需要我在运行单元测试(测试任务即“渐变测试”)之前启动/停止tomcat
)以使用单元测试获得/通过的代码覆盖率。请告知/纠正。代码(仅适用于Gradle jacoco单元测试部分)-我使用的是:

apply plugin: 'jacoco'

test {
      include 'src/java-test/**'
}

jacocoTestReport {
    group = "reporTing"
    description = "Generate Jacoco coverage reports after running tests."
    reports {
        xml.enabled true
        html.enabled true
        csv.enabled false
    }
    //classDirectories = fileTree(dir: 'build/classes/main',include: 'com/thc/**')
    //sourceDirectories = fileTree(dir: 'scr/java',include: 'com/thc/**')
    additionalsourceDirs = files(sourceSets.main.allJava.srcDirs)
}

对于集成测试:

task integrationTest(type: Test) {
        include 'test/java/**'
}

由于jacocoTestReport取决于测试任务,因此将首先调用它们,然后最终将调用jacocoTestReport,以报告针对代码覆盖范围发现的内容。

  1. 为了获得集成测试的代码覆盖率,我假设我必须先启动tomcat(即在运行/调用集成测试的测试目标之前),然后调用“ gradlE integrationTest”或“ gradle test”任务,然后停止tomcat -以获取代码覆盖率报告。从其他博客文章中,我还发现应该在tomcat启动之前设置JAVA_OPTS变量以分配jacoco代理。

例如:设置JAVA_OPTS变量,例如:

export JACOCO="-Xms256m -Xmx512m -XX:MaxPermSize=1024m -javaagent:/production/jenkinsAKS/jobs/NewApp/workspace/jacoco-0.6.3.201306030806/lib/jacocoagent.jar=destfile=/production/jenkinsAKS/jobs/NewApp/workspace/jacoco/jacoco.exec,append=true,includes=*"
export JAVA_OPTS="$JAVA_OPTS $JACOCO"
  1. 是Gradle / groovy的新手-如果不确定是否涉及tomcat的启动/停止,我不确定应该在build.gradle(构建脚本)中编写哪些代码才能使上述Integration / Unit测试正常工作。如果有人可以提供示例脚本来执行此操作,我将尝试。

  2. 当我在jenkins中发布Jacoco代码覆盖率时(使用jenkins发布后动作来发布Jacoco报告),我现在没有任何代码覆盖率。jenkins构建仪表板显示0%的代码覆盖率(即,条形图显示所有红色,而实际显示的绿色则没有绿色)。

需要您的建议以吸引一些注意。

大佬总结

以上是大佬教程为你收集整理的Gradle jacoco代码覆盖范围-然后在Jenkins中发布/显示全部内容,希望文章能够帮你解决Gradle jacoco代码覆盖范围-然后在Jenkins中发布/显示所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。