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性能分析工具. ...
随机推荐
- 201903<<高效15法则>>
高效15法则,这本书作为时间管理的入门书籍,易读易理解,结构清晰,但是中间的某些篇幅内容过于拖沓....
- MacBook Pro App Store无法下载和更新软件解决方案
环境:MacBook Pro 2017 系统:MacOS 10.14 问题:在App Store中无法下载和更新软件,输入App Store密码后,弹出如下对话框 咨询苹果官方技术支持电话:400-6 ...
- t-SNE完整笔记
http://www.datakit.cn/blog/2017/02/05/t_sne_full.html t-SNE(t-distributed stochastic neighbor embedd ...
- 【javascript】随机颜色
调用该方法则会返回一个#xxx的rgb随机颜色 function color1(){ var sum=""; var shuzu2=['a','b','c','d','e','f' ...
- CCF CSP 201809-2 买菜
题目链接:http://118.190.20.162/view.page?gpid=T78 问题描述 小H和小W来到了一条街上,两人分开买菜,他们买菜的过程可以描述为,去店里买一些菜然后去旁边的一个广 ...
- Thinking in work
Scheduler? Realtime? sure SCI? Power supply and ECU life. how to assure? EMC?
- Hibernate一级缓存和二级缓存详解
(1)一级缓存 是Session级别的缓存,一个Session做了一个查询操作,它会把这个操作的结果放在一级缓存中,如果短时间内这个session(一定要同一个session)又做了同一个操作,那么h ...
- Android中本地广播的实现
其实Android的本地广播并没有什么好讲的,他就是用了一个localbroadcastmanager类来sendbroadcast,以及注册和注销广播,没有什么特点,其中实例该类的时候用了getin ...
- Matlab 将两个图像进行分离 已知其中一个图像
5.下图(a)是一幅两个灰度图像合成的图像,已知其中一幅图像如图(b)所示,试把另一幅图像提取出来,并显示. 运用减法做 %加载入要处理的图片 A=imread('a.png'); %将I变为[0,1 ...
- Bootstrap3基础 引入本地的bootstrap
内容 参数 OS Windows 10 x64 browser Firefox 65.0.2 framework Bootstrap 3.3.7 editor ...