`
flynewton
  • 浏览: 62610 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Emma获取功能测试覆盖率

阅读更多

转自: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/

 

分享到:
评论

相关推荐

    基于emma的测试覆盖率分析工具,swing界面操作

    **Emma测试覆盖率分析工具** Emma是一款广泛应用于Java项目的开源代码覆盖率工具,它能够帮助开发者评估单元测试的质量。Emma提供了一种高效且精确的方式来衡量代码在测试中的执行情况,即测试覆盖率,这包括了哪些...

    代码覆盖率驱动的测试资料.docx

    本文主要探讨了如何利用代码覆盖率工具EMMA来进行测试,并详细介绍了在Android工程中使用EMMA进行单元测试覆盖率检查的步骤。 EMMA是一个开源的Java程序测试覆盖率工具,它通过字节码插装技术在运行时收集覆盖率...

    emma最新版——一款很小巧很好用的java单测覆盖率统计工具

    而"features"目录则可能包含了EMMA的特定功能模块或者扩展功能,比如报表生成、覆盖率阈值设置等功能。 为了有效地使用EMMA,开发者需要了解以下几个关键点: 1. **安装与配置**:EMMA通常以库的形式添加到项目的...

    eclipse覆盖率插件

    Eclipse 覆盖率插件是用于度量和可视化Java代码测试覆盖率的工具,它帮助开发者...通过集成这些插件,开发者可以在Eclipse环境中直接获取到详尽的测试覆盖率数据,从而更好地优化测试策略,提升软件的可靠性和稳定性。

    华东交通大学软件学院大作业

    它的工作原理是通过在编译后的Java字节码中插入代码来收集测试覆盖率信息,这种方式不会污染源代码,使得EMMA可以在功能测试中使用。EMMA提供了四种类型的覆盖率指标:类覆盖率、方法覆盖率、块覆盖率和行覆盖率,...

    代码覆盖测试-Code_Coverage_Testing_with_EclEmma-使用篇

    - 查看合并后的测试覆盖率。 #### 四、EclEmma的高级特性 - **支持多种测试类型**:EclEmma 不仅支持 Java 应用程序的测试,还可以用于 JUnit 单元测试、Eclipse 插件测试等。 - **配置页面**:通过 Eclipse 的...

    毕业设计——java覆盖工具.zip

    `jacoconut`可能是一个基于Java的开源代码覆盖率工具,它的名称可能是“Java Coconut”的缩写,寓意轻松获取代码覆盖率数据。在实际应用中,这样的工具通常集成了JVM(Java虚拟机)的字节码操作,能在运行时捕获并...

    Hudson持续集成测试

    2. `emma.hpi`:提供单元测试覆盖率报告,帮助开发者了解测试覆盖情况。 3. `disk-usage.hpi`:监控工作区的磁盘使用情况,避免资源浪费。 4. `pmd.hpi`:进行代码静态分析,找出潜在的编程问题。 5. `findbugs.hpi`...

    使用testng测试java工程_操作手册整理.pdf

    - 代码覆盖率是衡量测试覆盖程度的指标,它帮助确认哪些代码已被测试。 2. **运行Ant任务**: - Ant脚本可以按照配置执行TestNG测试,并生成相应的报告。 总结:TestNG提供了一种灵活的测试框架,允许开发者创建...

    my-gradle-build:利用Gradle构建工具-开源

    通过集成Emma,开发者可以在构建过程中获取到代码测试覆盖率报告,以确保代码的质量。 通过my-gradle-build,开发者可以更有效地管理和优化他们的Gradle构建。例如,它可能提供了更智能的依赖管理,减少了构建时间...

    Maven 常用插件的详细整理

    Maven 中的代码覆盖率插件是通过 cobertura-maven-plugin 和 emma-maven-plugin 实现的,该插件提供了对 Java 代码的代码覆盖率检查功能,能够检测出代码中的代码覆盖率。通过该插件,开发者可以对代码进行代码覆盖...

    java源码网上购物系统(JavaBean+Servlet+jsp)

    - **性能指标**:关注CPU利用率、内存使用情况等关键性能指标。 - **故障排查**:遇到问题时能够快速定位原因并采取相应措施解决。 3. **升级迭代**:随着业务发展和技术进步,定期对系统进行优化和升级是非常...

Global site tag (gtag.js) - Google Analytics