我按照以下步骤操作:
- 将 emma.jar 复制到 \jre\lib\ext 文件夹中
- 使用我要检测的 jar 文件列表手动创建 jarlist.txt。
例子:
带有完整路径的 Jar 名称:
e:\driven\web\web-inf\lib\abc.jar e:\driven\web\web-inf\lib\xyz.jar
将 jarlist.txt 放在同一文件夹中 - jre\lib\ext 文件夹
- 使用以下命令检测 JARS:
c:\Program files\java\jre\lib\ext> java -cp emma.jar emma instr -m overwrite -cp @jarlist.txt
结果:EMMA:处理检测路径 ... EMMA:在 3819 毫秒内处理的检测路径 EMMA:[检测了 1942 个类,复制了 1030 个资源] EMMA:元数据合并到 [\jre\lib\ext\coverage。 em] {在 668 毫秒内}
如果您第二次尝试使用相同的命令,您将只得到以下结果:
EMMA:处理检测路径 ... EMMA:在 1875 毫秒内处理的检测路径 EMMA:[检测了 0 个类,复制了 2972 个资源] EMMA:未创建输出:元数据为空
因为 jars 已经检测过 --> 0 个类并且没有创建输出。
--> 启动你的 Tomcat 并执行一些操作
Tomcat 日志您可以找到如下所示: EMMA:收集运行时覆盖率数据...
如果您能找到这意味着您将在停止 Tomcat 服务时获得 coverage.ec 文件。
停止 Tomcat 服务:日志的最后阶段将显示如下:
EMMA:运行时覆盖数据合并到 [\tomcat\bin\coverage.ec] {in 48 ms}
报告生成:
c:\jre\lib\ext> java -cp emma.jar emma report -r html -in coverage.em,......\tomcat\bin\coverage.ec
EMMA:处理输入文件 ... EMMA:在 582 毫秒内读取并合并了 2 个文件 EMMA:将 [html] 报告写入 [c:\jre\lib\ext\coverage\index.html] ...
您可以打开并查看 Index.html 以查看报告。