Emma获取功能测试覆盖率

EMMA 是一个开源、面向 Java 程序测试覆盖率收集和报告工具。它通过对编译后的 Java 字节码文件进行插装,在测试执行过程中收集覆盖率信息,并通过支持多种报表格式对覆盖率结果进行展示。 EMMA 所使用的字节码插装不仅保证 EMMA 不会给源代码带来“脏代码”,还确保 EMMA 摆脱了源代码的束缚,这一特点使 EMMA 应用于功能测试成为了可能。

具体应用过程:

第一:打桩,得到打桩文件和记录文件(.em)

如果是JAR包,直接下面命令打包,并把emma.jar文件也放入lib文件夹中;如果是WAR包,先jar xvf xxx.war解压,找到具体的JAR包执行下面命令,把emma.jar放入同一目录,再jar cvfM xxx.war *打成WAR包

java -Xbootclasspath/p:emma.jar emma instr -m overwrite -ip udb.biz-1.2.0-SNAPSHOT.jar -Dmetadata.out.file=/home/udb/coverage.em

第二:启动应用,运行测试

第三:从内存中dump出覆盖率(.ec)

java -Xbootclasspath/p:emma.jar emma ctl -connect localhost:47653 -command coverage.get,coverage.ec

第四:根据em文件和ec文件转换成html文件

java -Xbootclasspath/p:emma.jar emma report -r html -in  coverage.em,coverage.ec -Dreport.html.out.file=coverage.html

最后通过得到的coverage.html文件可以得到具体的覆盖率情况

Emma获取功能测试覆盖率_第1张图片

具体信息可以参考:http://www.ibm.com/developerworks/cn/opensource/os-cn-emma/

你可能感兴趣的:(emma,覆盖率)