六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 42|回复: 0

Emma获取功能测试覆盖率

[复制链接]

升级  3.33%

64

主题

64

主题

64

主题

举人

Rank: 3Rank: 3

积分
210
 楼主| 发表于 2013-1-15 02:10:38 | 显示全部楼层 |阅读模式
转自:http://my.oschina.net/flynewton/blog/11205
 
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文件可以得到具体的覆盖率情况

具体信息可以参考:http://www.ibm.com/developerworks/cn/opensource/os-cn-emma/
 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表