zoukankan      html  css  js  c++  java
  • java服务覆盖率统计 jacoco ant

    ● 下载jacoco.exec、jacocoant.jar、jacocoagent.jar

    ● jvm启动参数中添加(tomcat服务原理一样)


    JACOCO_OPTS=JAVA_OPTS="-javaagent:[jacocoagent.jar你的地址]=includes=com.*,output=tcpserver,port=8044,address=10.*.*.* -Xverify:none"
    ● 启动服务

    java $JAVA_OPTS -Djava.rmi.server.hostname=10.*.*.*  -jar ROOT.jar  --server.port=8080
    ● 下载工程源码
    ● 安装ant
    ● 配置build.xml

    <?xml version="1.0" ?>
    <project name="coverage" xmlns:jacoco="antlib:org.jacoco.ant" >
        <!--Jacoco的安装路径-->
      <property name="jacocoantPath" value="/srv/jacocoant.jar"/>
      <!--最终生成.exec文件的路径,Jacoco就是根据这个文件生成最终的报告的-->
      <property name="jacocoexecPath" value="/srv/jacoco.exec"/>
        <!--生成覆盖率报告的路径-->
      <property name="reportfolderPath" value="/srv/report/"/>
      <!--远程tomcat服务的ip地址-->
      <property name="server_ip" value="10.*.*.*"/>
      <!--前面配置的远程tomcat服务打开的端口,要跟上面配置的一样-->
      <property name="server_port" value="8044"/>
      <!--源代码路径可以包含多个源代码-->
      <property name="webSrcpath" value="/srv/service/src/main/java/" />
      
      <!--.class文件路径可以包含多个--class文件要填写部署在服务器上的路径,jar包要解压>
      <property name="webClasspath" value="/home/" />
     
    
      <!--让ant知道去哪儿找Jacoco-->
      <taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml">
          <classpath path="${jacocoantPath}" />
      </taskdef>
    
      <!--dump任务:
          根据前面配置的ip地址,和端口号,
          访问目标tomcat服务,并生成.exec文件。-->
    
      <target name="dump">
          <jacoco:dump address="${server_ip}" reset="false" destfile="${jacocoexecPath}" port="${server_port}" append="true"/>
      </target>
      
      <!--jacoco任务:
          根据前面配置的源代码路径和.class文件路径,
          根据dump后,生成的.exec文件,生成最终的html覆盖率报告。-->
    
      <target name="report">
          <delete dir="${reportfolderPath}" />
          <mkdir dir="${reportfolderPath}" />
          
          <jacoco:report>
              <executiondata>
                  <file file="${jacocoexecPath}" />
              </executiondata>
                  
              <structure name="JaCoCo Report">
                  <group name="Launch related">           
                      <classfiles>
                          <fileset dir="${webClasspath}" />
                      </classfiles>
                      <sourcefiles encoding="gbk">
                          <fileset dir="${webSrcpath}" />
                      </sourcefiles>
                  </group>
              </structure>
    
              <html destdir="${reportfolderPath}" encoding="utf-8" />         
          </jacoco:report>
      </target>
    </project>
    • 执行ant dump ,生成exec文件
    • 执行ant report  ,生成html报告
  • 相关阅读:
    使用postman模拟上传文件到springMVC的坑:the request was rejected because no multipart boundary was found
    win10 安装多个版本的jdk,如何切换
    String类的substring方法
    tomcat7.0配置CORS(跨域资源共享)
    win7下安装centos6.5后,开机无法进入选择双系统启动界面,只能启动centos的解决办法
    java位运算
    JDK源码--ArrayList浅析
    使用Jasperreporter生成入库出库单打印等报表操作
    centos6.5下安装zip格式的tomcat7和tomcat8,并同时运行
    Centos7配置文件共享服务器SAMBA三步曲(转)
  • 原文地址:https://www.cnblogs.com/paisen/p/7827059.html
Copyright © 2011-2022 走看看