• 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报告
  • 相关阅读:
    在有多个input的表单当中按回车按钮,如何不自动提交表单,而触发某个按钮的事件
    login.jsp
    json数据源
    translation.js
    cookie.js
    i18next.min.js
    struts2拦截器实现原理
    proxy-target-class="true" 与proxy-target-class="false"的区别(声明事务的时候)
    NavLink
    【转载】target='_blank' 安全漏洞示例
  • 原文地址:https://www.cnblogs.com/paisen/p/7827059.html
Copyright © 2020-2023  润新知