java+调用jacoco_java操作jacoco
使用jacoco來(lái)統(tǒng)計(jì)代碼覆蓋率時(shí),用java來(lái)清空覆蓋率數(shù)據(jù)或者輸出覆蓋率數(shù)據(jù)
一、相關(guān)包
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
該包不需要放在代碼里,放在機(jī)器某個(gè)位置就行
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
該包用于操作覆蓋率數(shù)據(jù)
二、使用
1、運(yùn)行程序
運(yùn)行程序時(shí),jvm options加上
-javaagent:/data/services/tomcat_base/testcov.bam.yy.com/lib/jacocoagent.jar=output=tcpserver,address=127.0.0.1,port=6300
其中地址address為當(dāng)前機(jī)器的Ip,port為操作覆蓋率數(shù)據(jù)的端口,可自行定義,默認(rèn)為6300
至于如果加jvm options請(qǐng)自行g(shù)oogle
官方api
http://www.eclemma.org/jacoco/trunk/doc/api/
2、java操作覆蓋率數(shù)據(jù)
清空覆蓋率數(shù)據(jù)
ExecDumpClient client = new ExecDumpClient();
client.setReset(true);
client.setDump(false);
//目標(biāo)機(jī)器的ip和端口,對(duì)應(yīng)著運(yùn)行程序時(shí)javaagent參數(shù)里的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);
總結(jié)
以上是生活随笔為你收集整理的java+调用jacoco_java操作jacoco的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 晾衣架有必要用电动吗?
- 下一篇: 恋与制作人白起锋芒(汉典恋字的基本解释)