jacoco覆盖率工具测试及性能分析
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覆盖率工具测试及性能分析的更多相关文章
- Jacoco覆盖率工具使用之maven篇
说明 之前的文章已经介绍过如何使用apacheant 执行jacoco工具,下面开始介绍如何使用maven使用jacoco工具. 1.首先新建一个maven项目 如图所示: ...
- valgrind的callgrind工具进行多线程性能分析
1.http://valgrind.org/downloads/old.html 2.yum install valgrind Valgrind的主要作者Julian Seward刚获得了今年的Goo ...
- 用Chrome开发者工具做JavaScript性能分析
来源: http://blog.jobbole.com/31178/ 你的网站正常运转.现在我们来让它运转的更快.网站的性能由页面载入速度和代码执行效率决定.一些服务可以让你的网站载入更快,比如压缩J ...
- Jacoco覆盖率工具使用调研
JaCoCo Java Code Coverage Library Jacoco是一个开源的覆盖率工具.Jacoco可以嵌入到Ant .Maven中,并提供了EclEmma Eclipse插件,也可以 ...
- Jacoco覆盖率工具使用
Jacoco介绍 Jacoco是一个开源的覆盖率工具.Jacoco可以嵌入到Ant .Maven中,并提供了EclEmma Eclipse插件,也可以使用JavaAgent技术监控Java程序.很多第 ...
- 专项测试-App性能分析
专项测试 app性能 Activity是Android组件中最基本也是最为常见用的四大组件(Activity,Service服务,Content Provider内容提供者,BroadcastRece ...
- 利用PyCharm的Profile工具进行Python性能分析
Profile:PyCharm提供了性能分析工具Run->Profile,如下图所示.利用Profile工具可以对代码进行性能分析,找出瓶颈所在. 测试:下面以一段测试代码来说明如何使用pych ...
- CLR Profiler 性能分析工具
CLR Profiler 性能分析工具 CLR Profiler 性能分析工具 CLR Profiler 有两个版本,分别用于CLR1.1 和 CLR2.0,至于CLR4试了一些也可以,但不知道是否完 ...
- Linux下性能分析工具汇总
来自:http://os.51cto.com/art/201104/253114.htm 本文讲述的是:CPU性能分析工具.Memory性能分析工具.I/O性能分析工具.Network性能分析工具. ...
随机推荐
- openFileDialog的Filter属性设置
OpenFileDialog对话框的Filter属性说明: 首先说明一个示例,分析一下Filter属性的构成:“ Excel文件|*.xls ”,前面的“Excel文件”成为标签,是一个可读的字符串, ...
- linux下python3(Setup)项目
新建setup.py文件 写入 from setuptools import setup setup( name='tickets', #定义你项目的名称 py_modules=['tickets', ...
- awk if print
awk -F"," '{ if($4=="abc" && $5=="def"){print $1} else {prin ...
- Ubuntu 安装第三方工具
1. pycharm 安装(链接:https://pan.baidu.com/s/1fIp-AhBmnPvqYW40140RLw 提取码:ukkv ) 1.运行以下命令安装 sh pycha ...
- insert into TABLE by SELECT ...
insert into isp_rmi3 ( select r.id, r.blue_id, r.sell_channel,NULL, r.interface_id, NULL, NULL, r.ur ...
- JAVA课堂测试之查找字母和单词出现次数、频率
代码如下:没有加注释,自己研究吧. import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;i ...
- Qt框架及模块认识
小白自工作就接触Qt,一直都在使用Qt5.3.1版本,所以没有经历过大牛们把项目从Qt4程序到Qt5的烦恼,没准以后会碰到.对Qt所有的丰富的API表示惊叹,对于Qt的框架及模块认识也是极为模糊的,文 ...
- SQLSERVER列出所有用户权限
--服务器级权限WITH CTE AS(SELECT u.name AS 用户名,u.is_disabled AS 是否禁用,g.name as 服务器角色,'√' as 'flag'FROM sys ...
- 接触node第一步
趁着工作不忙,今天来系统记录一下安装node环境: 1.node下载地址为:https://nodejs.org/en/,检查是否安装成功:如果输出版本号,说明我们安装node环境成功:node -v ...
- sai u 2016
再过20分钟,我就要结束2016年的工作回家过春节了.真是难过的一天啊,从来没有今天那么感受深刻,那么嫌弃时间太慢,没有归家心似箭,没有近乡情怯,只是好想,呵呵,来个午睡,来场电影,来点小说,哈哈哈. ...