java+调用jacoco_java操作jacoco
使用jacoco來統計代碼覆蓋率時,用java來清空覆蓋率數據或者輸出覆蓋率數據
一、相關包
1,下載jacocoagent.jar包
maven:https://mvnrepository.com/artifact/org.jacoco/org.jacoco.agent
jar包:
http://central.maven.org/maven2/org/jacoco/org.jacoco.agent/0.7.7.201606060606/org.jacoco.agent-0.7.7.201606060606.jar
該包不需要放在代碼里,放在機器某個位置就行
2,下載org.jacoco.core.jar包,并放到代碼里
如果是maven:
https://mvnrepository.com/artifact/org.jacoco/org.jacoco.core
org.jacocogroupId>
org.jacoco.coreartifactId>
0.7.7.201606060606version>
dependency>
jar包下載:
http://central.maven.org/maven2/org/jacoco/org.jacoco.core/0.7.7.201606060606/org.jacoco.core-0.7.7.201606060606.jar
該包用于操作覆蓋率數據
二、使用
1、運行程序
運行程序時,jvm options加上
-javaagent:/data/services/tomcat_base/testcov.bam.yy.com/lib/jacocoagent.jar=output=tcpserver,address=127.0.0.1,port=6300
其中地址address為當前機器的Ip,port為操作覆蓋率數據的端口,可自行定義,默認為6300
至于如果加jvm options請自行google
官方api
http://www.eclemma.org/jacoco/trunk/doc/api/
2、java操作覆蓋率數據
清空覆蓋率數據
ExecDumpClient client = new ExecDumpClient();
client.setReset(true);
client.setDump(false);
//目標機器的ip和端口,對應著運行程序時javaagent參數里的ip和端口
client.dump(ip, port);
輸出覆蓋率文件jacoco.exec
ExecDumpClient client = new ExecDumpClient();
client.setDump(true);
ExecFileLoader file = client.dump("183.60.218.133", 6999);
file.save(new File("d:jacoco.exec"), false);
總結
以上是生活随笔為你收集整理的java+调用jacoco_java操作jacoco的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 晾衣架有必要用电动吗?
- 下一篇: oracle行迁移实验,Oracle 行