jacoco检测功能或自动化测试覆盖率

参考文档:http://t.csdn.cn/QqCSh

http://t.csdn.cn/HonVL

目录

下载jacoco

启动jacocoagent监控被测项目

执行手工测试

生成exec文件

生成report报告

jacoco代码覆盖率报告分析

 


 

下载jacoco

http://t.csdn.cn/HonVL

我下载的最新的 jacoco-0.8.10.zip

下载后解压到E盘

jacoco检测功能或自动化测试覆盖率_第1张图片

启动jacocoagent监控被测项目

mvn clean package打包项目为jar包

jacoco检测功能或自动化测试覆盖率_第2张图片

上传至test文件夹下,使用下列命令启动项目,并用jacoco用8080端口监听项目运行

java -javaagent:‪E:\jacoco-0.8.10\lib\jacocoagent.jar=includes=*,output=tcpserver,port=8080 -jar ‪E:\jacoco-0.8.10\test\LiuMa-1.2.1.jar

就这个命令,搞了好久第一个E前面没空格

直接输入会显示特殊符号需要删一下

Error opening zip file or JAR manifest missing : Error occurred during initialization of VM agent library failed to init: instrument

jacoco检测功能或自动化测试覆盖率_第3张图片

这个端口8080是jacoco的监听端口。将来dump文件,都是通过端口为8080的jacocoagent服务实现的。如果端口被占用就换一个

执行手工测试

手工测试,或者自动化测试,jacoco会监听到操作,给代码插桩

生成exec文件

cli包dump生成exec文件(注意一定要测试完毕之后)

java -jar E:\jacoco-0.8.10\lib\jacococli.jar dump --address 127.0.0.1 --port 8081 --destfile E:\jacoco-0.8.10\test\LiuMa-1.2.1.exec

生成report报告

java -jar E:\jacoco-0.8.10\lib\jacococli.jar report ‪E:\jacoco-0.8.10\test\LiuMa-1.2.1.exec --classfiles F:\LiuMa\Liuma-platform\LiuMa-backend\target\classes --sourcefiles F:\LiuMa\Liuma-platform\LiuMa-backend\src\main\java --html html-report --xml report.xml --encoding=utf-8

#--sourcefiles 本地被测项目的源码

#--classfiles 为本地被测项目的字节码路径

jacoco检测功能或自动化测试覆盖率_第4张图片

这两个路径是源码里的。

执行命令后,在本地生成一个html-report 文件夹

jacoco检测功能或自动化测试覆盖率_第5张图片

index.html就是报告。

jacoco检测功能或自动化测试覆盖率_第6张图片

jacoco代码覆盖率报告分析

Jacoco是从代码指令(Instructions, Coverage),分支(Branches, Coverage),圈复杂度(Cyclomatic Complexity),行(Lines),方法(Methods),类(Classes)等维度进行分析的。



作者:奔跑的小小鱼
链接:https://www.jianshu.com/p/ef987f1b6f2f
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

你可能感兴趣的:(代码质量分析,python+java,自动化,测试覆盖率,java)