ant版本:https://ant.apache.org/bindownload.cgi

jdk版本

注:

  ant 1.10    --->   jdk1.8

  ant 1.9      --->   jdk1.7

jacoco版本:https://www.eclemma.org/jacoco/

tomcat版本

catalina.bat配置:

set JAVA_OPTS=-server -Xms1024m -Xmx1024m -XX:PermSize=512M -XX:MaxNewSize=512m -XX:MaxPermSize=512m -Djava.awt.headless=true -javaagent:E:\Handover\jacoco\jacoco-0.8.3\lib\jacocoagent.jar=includes=com.*,output=tcpserver,port=8229,address=127.0.0.1 -Xverify:none

jacoco,build.xml配置

<?xml version="1.0" ?>
<project name="sushe" xmlns:jacoco="antlib:org.jacoco.ant" default="jacoco">
<!--Jacoco的安装路径-->
<property name="jacocoantPath" value="E:\Handover\jacoco\jacoco-0.8.3\lib\jacocoant.jar"/> <!--最终生成.exec文件的路径,Jacoco就是根据这个文件生成最终的报告的-->
<property name="jacocoexecPath" value="E:\testDemo\sushe\codeCoverage\mergedwftest.exec"/> <!--生成覆盖率报告的路径,直接放在tomct下面,外界直接访问-->
<property name="reportfolderPath" value="E:\testDemo\sushe\codeCoverage\report"/> <!--远程tomcat服务的ip地址-->
<property name="server_ip" value="127.0.0.1"/> <!--前面配置的远程tomcat服务打开的端口,要跟上面配置的一样-->
<!--这个端口有别于tomcat的端口,相当于是嵌在tomcat里的监视器-->
<property name="server_port" value="8229"/> <!--源代码路径-->
<!--<property name="checkOrderSrcpath" value="/root/LoginDemo4/src/main/java/" />-->
<!--可以配置多个源代码-->
<property name="express_src" value="E:\testDemo\sushe\src\"/> <!--.class文件路径-->
<!--跑的是class,标注的是源码?-->
<!--<property name="checkOrderClasspath" value="/root/wftest/target/classes/com/hundsun" />--> <property name="express_class" value="E:\testDemo\sushe\build\classes\"/> <!--合并报告路径-->
<property name="mergePath" value="E:\testDemo\sushe\codeCoverage" /> <!--让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>
<target name="merge">
<!--将路径下的exec文件全部合并,并存放到destfile中-->
<jacoco:merge destfile="E:\testDemo\sushe\codeCoverage\merged.exec">
<fileset dir="${mergePath}" includes="*.exec"/>
</jacoco:merge>
</target> <!--jacoco任务:
根据前面配置的源代码路径和.class文件路径,
根据dump后,生成的.exec文件,生成最终的html覆盖率报告。-->
<target name="report">
<!--暂时不删除,一旦删除,其他两个的报告也没了-->
<delete dir="${reportfolderPath}" />
<mkdir dir="${reportfolderPath}" />
<jacoco:report>
<executiondata>
<file file="${jacocoexecPath}" />
</executiondata>
<structure name="ucf report">
<group name="express related">
<classfiles>
<fileset dir="${express_class}" />
</classfiles>
<sourcefiles encoding="utf-8">
<fileset dir="${express_src}" />
</sourcefiles>
</group>
</structure>
<html destdir="${reportfolderPath}" encoding="utf-8" />
<csv destfile="E:\testDemo\sushe\codeCoverage\report.csv" />
</jacoco:report>
</target>
</project>

ant编译

生成报告

被测程序目录结构

index.html为生成的报告

附:Jmeter性能分析对比

使用Jmeter录制简单测试操作,配置线程数和循环次数,确认测试效率

jacoco覆盖率工具测试及性能分析的更多相关文章

  1. Jacoco覆盖率工具使用之maven篇

    说明 之前的文章已经介绍过如何使用apacheant 执行jacoco工具,下面开始介绍如何使用maven使用jacoco工具. 1.首先新建一个maven项目       如图所示:        ...

  2. valgrind的callgrind工具进行多线程性能分析

    1.http://valgrind.org/downloads/old.html 2.yum install valgrind Valgrind的主要作者Julian Seward刚获得了今年的Goo ...

  3. 用Chrome开发者工具做JavaScript性能分析

    来源: http://blog.jobbole.com/31178/ 你的网站正常运转.现在我们来让它运转的更快.网站的性能由页面载入速度和代码执行效率决定.一些服务可以让你的网站载入更快,比如压缩J ...

  4. Jacoco覆盖率工具使用调研

    JaCoCo Java Code Coverage Library Jacoco是一个开源的覆盖率工具.Jacoco可以嵌入到Ant .Maven中,并提供了EclEmma Eclipse插件,也可以 ...

  5. Jacoco覆盖率工具使用

    Jacoco介绍 Jacoco是一个开源的覆盖率工具.Jacoco可以嵌入到Ant .Maven中,并提供了EclEmma Eclipse插件,也可以使用JavaAgent技术监控Java程序.很多第 ...

  6. 专项测试-App性能分析

    专项测试 app性能 Activity是Android组件中最基本也是最为常见用的四大组件(Activity,Service服务,Content Provider内容提供者,BroadcastRece ...

  7. 利用PyCharm的Profile工具进行Python性能分析

    Profile:PyCharm提供了性能分析工具Run->Profile,如下图所示.利用Profile工具可以对代码进行性能分析,找出瓶颈所在. 测试:下面以一段测试代码来说明如何使用pych ...

  8. CLR Profiler 性能分析工具

    CLR Profiler 性能分析工具 CLR Profiler 性能分析工具 CLR Profiler 有两个版本,分别用于CLR1.1 和 CLR2.0,至于CLR4试了一些也可以,但不知道是否完 ...

  9. Linux下性能分析工具汇总

    来自:http://os.51cto.com/art/201104/253114.htm 本文讲述的是:CPU性能分析工具.Memory性能分析工具.I/O性能分析工具.Network性能分析工具. ...

随机推荐

  1. NGUI之使用UISprite画线

    代码如下: static void DrawLine(UISprite spriteLine, Vector3 start, Vector3 end) { Vector3 center = (star ...

  2. mysql数据库设计三范式

    为了建立冗余较小.结构合理的数据库,设计数据库时必须遵循一定的规则.在关系型数据库中这种规则就称为范式.范式是符合某一种设计要求的总结.要想设计一个结构合理的关系型数据库,必须满足一定的范式. 在实际 ...

  3. 畅捷通T+12.2升级时发生的错误及处理方法图解

    前言:最近处理一个客户单位的财务数据,需要从2004年的U820版本的数据升级到畅捷通T+12.2版本.经查,该升级先要将原数据升级到T6,再从T6升级到畅捷通T+12.2版本.U820升级到T6很简 ...

  4. python 对excel操作用法详解

    在python中,对excel表格读,写,追加数据,用以下三个模块: 1.wlrd 读取excel表中的数据 2.xlwt 创建一个全新的excel文件,然后对这个文件进行写入内容以及保存. 3.xl ...

  5. WPF Combobox数据绑定 Binding

    combobox数据绑定List链表集合区分显示值与选择的值 整体效果: 根据combobox选择情况分别打印选取值与显示值 代码: Windows窗体: <Window x:Class=&qu ...

  6. python数据科学 学习之路

    week1 - Python基础1  介绍.基本语法.流程控制 week1- Python基础2   列表.字典.集合 week1- Python基础3   函数.递归.内置函数 week1- Pyt ...

  7. 转载 usb_alloc_coherent 和 usb_free_coherent

    今天做移植的时候,随手记录一下,今天所遇到的问题解决方法. 在linux2.6.34和之前的代码中还可以使用usb_buffer_alloc 和 usb_buffer_free 这两个函数,在2.6. ...

  8. Flask实战-留言板-使用Faker生成虚拟数据

    使用Faker生成虚拟数据 创建虚拟数据是编写Web程序时的常见需求.在简单的场景下,我们可以手动创建一些虚拟数据,但更方便的选择是使用第三方库实现.流行的python虚拟数据生成工具有Mimesis ...

  9. 对于react-redux的理解

    一.redux与组件 React-Redux提供connect方法,用于从UI组件生成容器组件 二.react-redux的基本使用 1.引入 import {Provider} from " ...

  10. 2.获取指定目录及子目录下所有txt文件的个数,并将这些txt文件复制到F盘下任意目录

    package cn.it.text; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import ...