參考博文:
畫重點:
準備
在jacoco官方下載jacoco包,下載連接:www.jacoco.org/jacoco/
下載的包中包括三個jar,此處使用 jacocoagent.jar 和 jacococli.jar
直接運行
1.假如直接運行的是test.jar, 運行以下命令:
java -javaagent:jacoco\jacocoagent.jar=includes=com.xxx.*,output=tcpserver,address=127.0.0.1,port=6300-jar test.jar
jacoco\jacocoagent.jar 替換爲自己的文件路徑,在jacoco/lib下
com.xxx.* 替換爲被測包名
address 和 port 後面java程序要用,通過socket通信dump出覆蓋率數據。
2.運行測試,功能測試,接口自動化
3.獲取結果:
public static void dump(){
ExecDumpClient client = new ExecDumpClient();
client.setDump(true);
ExecFileLoader file = null;
try {
file = client.dump("127.0.0.1", 6300);
file.save(new File("/test/jacoco.exec"), false);
} catch (IOException e) {
e.printStackTrace();
}
}
以上代碼打包,放到跟被測應用運行機器同一局域網內,運行:java -cp jacocoDump.jar com.functions.main
4.在jacocoDump.jar路徑會生成一個jacoco.exe文件,不爲空,說明有覆蓋率數據了
5.java -jar /jacoco/lib/jacococli.jar report jacoco.exec --classfiles /target/classes/com/ --html report