参考文档: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盘
启动jacocoagent监控被测项目
mvn clean package打包项目为jar包
上传至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
这个端口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 为本地被测项目的字节码路径
这两个路径是源码里的。
执行命令后,在本地生成一个html-report 文件夹
index.html就是报告。
jacoco代码覆盖率报告分析
Jacoco是从代码指令(Instructions, Coverage),分支(Branches, Coverage),圈复杂度(Cyclomatic Complexity),行(Lines),方法(Methods),类(Classes)等维度进行分析的。
作者:奔跑的小小鱼
链接:https://www.jianshu.com/p/ef987f1b6f2f
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。