我按照以下步骤操作:
- 将 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] {in 668 ms}
如果您第二次尝试使用相同的命令,您只会得到以下结果:
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 以查看报告。