# code-coverage-with-jacoco-agent **Repository Path**: training-2021/code-coverage-with-jacoco-agent ## Basic Information - **Project Name**: code-coverage-with-jacoco-agent - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-11-06 - **Last Updated**: 2021-11-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # jacoco代理方式获取测试后端覆盖率 ## 步骤 * 首先,from https://www.eclemma.org/jacoco/ 官网下载jacococoagent和jacococli jar最新的0.8.5版本zip包 * 项目打包 ./gradlew clean build * 加上javaagent参数,命令行运行项目 java '-javaagent:/jacocoagent.jar=address=*,includes=*,port=36320,destfile=jacoco-it.exec,output=tcpserver' -jar build/libs/code-coverage-with-jacoco-agent.jar * 访问项目不同的接口,获得代码覆盖率 curl -X GET http://localhost:8080/test?parameter=9 curl -X GET http://localhost:8080/test?parameter=50 curl -X GET http://localhost:8080/getEmployee/123 curl -X GET http://localhost:8080/getEmployee/456 * 运行命令,将javaagent分析收集的覆盖率报告数据存储到jacoco-it.exec文件中, 生成脚本文件地址:./build/jacoco-it.exec java -jar /jacococli.jar dump --address localhost --port 36320 --destfile /build/jacoco-it.exec * 生成可读的最终代码覆盖率报告文件(格式包括HTML,CSV,XML),报告地址:./build/jacoco-report/index.html java -jar /jacococli.jar report /build/jacoco-it.exec --classfiles /build/classes/java/com/example --sourcefiles /src/main/java/ --html /build/jacoco-report * 查看生成报告 ![](src/main/resources/jacoco-code-coverage-report.jpg) ## 参考脚本 ```shell //打包 ./gradlew clean build //启动 java '-javaagent:/Users/huisheng.jin/jacoco-0.8.7/lib/jacocoagent.jar=address=*,includes=*,port=36320,destfile=jacoco-it.exec,output=tcpserver' -jar build/libs/code-coverage-with-jacoco-agent.jar //存储测试覆盖率数据 java -jar /Users/huisheng.jin/jacoco-0.8.7/lib/jacococli.jar dump --address localhost --port 36320 --destfile build/jacoco-it.exec //访问项目 .... //生成测试报告 java -jar /Users/huisheng.jin/jacoco-0.8.7/lib/jacococli.jar report build/jacoco-it.exec --classfiles build/classes/java/main/com/example --sourcefiles src/main/java/ --html build/jacoco-report ```