使用 Jacoco 生成测试覆盖率报告

时间:2023-02-14 07:20:29

1、启动Jacoco

指定需要监测的包名,监测的ip及端口

java -javaagent:jacocoagent.jar=includes=com.test.*,output=tcpserver,port=6300,address=localhost,append=false -jar .\JacocoTest-1.0-SNAPSHOT.jar

2、执行测试用例


3、生成 dump,并重置覆盖率统计

指定要从何处获取jacoco统计数据,地址及端口应与 1 中一致

java -jar jacococli.jar dump --address localhost --port 6300 --destfile jacoco.exec --reset

参数说明:

--reset 生成覆盖率数据后,重置之前的统计,想要重新获取统计数据,需要删除之前生成的exec文件

--address 运行jacocoagent.jar的主机IP

--port 运行jacocoagent.jar的主机监控端口


4、生成覆盖率报告

指定类文件及源文件路径,及生成报告样式

java -jar jacococli.jar report jacoco.exec --classfiles  D:\Spring\JacocoTest\target\classes --sourcefiles D:\Spring\JacocoTest\src\main\java --html log

想要获取全新覆盖率数据,需要删除步骤3中生成的 exec 文件,否则是累计覆盖率。

jacococli.jar 使用帮助

Usage: java -jar jacococli.jar report [<execfiles> ...] --classfiles <path> [--csv <file>] [--encoding <charset>] [--help] [--html <dir>] [--name <name>] [--quiet] [--sourcefiles <path>] [--tabwith <n>] [--xml <file>]

<execfiles> : list of JaCoCo *.exec files to read

--classfiles <path> : location of Java class files

--csv <file> : output file for the CSV report

--encoding <charset> : source file encoding (by default platform encoding is

used)

--help : show help

--html <dir> : output directory for the HTML report

--name <name> : name used for this report

--quiet : suppress all output on stdout

--sourcefiles <path> : location of the source files

--tabwith <n> : tab stop width for the source pages (default 4)

--xml <file> : output file for the XML report