1 为什么使用Emma
万恶的Cobertura,只能支持test代码和java代码在一个工程下的单元测试覆盖率统计。之前,由于Morgan单独建了一个工程来进行单元测试,导致单元测试覆盖率使用统计不全。在网上寻觅良久之后,终于找到eclemma解决该问题,此为emma比较Cobertura的第一个优点。
emma的另外一个优点是对于语句中的多分支判断的严谨性。对于if(a||b)这样的语句,如果只满足a套件,cobertuna即会标为绿色,表示分支已经覆盖,而emma只会把标为黄色,表示部分覆盖。
2 如何安装Emma
--------------------------------------------------------------------------------
Eclipse→Help→Software updates→Find and Install...→Search for new features to install→next→New Remote Site...
填写站点和名字即可
name:Emma
URL:http://update.eclemma.org/
之后会进入到update页面,选择最新版本安装即可,目前最新的1.5.1。安装后,系统一般会建议重启。
3 如何使用Emma
有时候,由于修改了二方库,觉得在hudson平台上跑还需要更新二方库很麻烦,只想在本地测一下大概的覆盖率?检查一下那些分支没被覆盖?使用Emma非常方便。
选择需要运行的工程或者类文件,选择Coverage As→*Test*(JUnit Test or TestNG),执行完毕后,可以看到文件的代码行变为了三种颜色:绿色表示该行代码完全被覆盖;黄色表示部分被覆盖,一般是某些分支被覆盖的情况;红色表示完全未覆盖 。另外,还有一个单独的Coverage视图用以统计覆盖率,由于与Eclipse继承较好,使用起来非常方便,覆盖率多少,有哪些分支未被覆盖到,一目了然,再也不用到hudson平台上一个文件一个文件去找了。
如果你想在本地更好的测试覆盖率和分支?建议大家可以尝试使用Emma.
如果你写了很多单元测试,但是Hudson平台的统计与预期有较大差距,建议使用Emma来做一下检测。
分享到:
相关推荐
java的单元测试,结合JUnit达到测试覆盖率的目的
EMMA,它是一个免费、开源的、用来衡量单元测试覆盖度的工具。三者结合,利用EMMA产生的测试覆盖度报考,可以一目了然的知道那部分代码已经被测试,哪部分没有,从而控制单元测试的质量。 EMMA,它是一个免费、...
基于emma的测试覆盖率分析工具。swing界面,操作起来比较方便。可以对war包进行插桩,运行时根据需要可以取出覆盖信息并查看。需安装jdk运行。具体使用看chm。
emma统计测试覆盖率 http://blog.csdn.net/cxq234843654/article/details/53302897
在本文中,作者将EMMA引入到功能测试的过程,详细介绍EMMA在功能测试中的使用方法、步骤,并对覆盖率结果进行分析。 引言 EMMA是一个开源、面向Java程序测试覆盖率收集和报告工具。它通过对编译后的Java字节码...
利用emma统计java代码覆盖率,可用于手工和自动测试的代码覆盖率,讲述了如何配置emma环境
Emma测试覆盖率工具用法
EMMA是一个开源、面向Java程序测试覆盖率收集和报告工具。它通过对编译后的Java字节码文件进行插装,在测试执行过程中收集覆盖率信息,并通过支持多种报表格式对覆盖率结果进行展示。
Emma进行代码覆盖率检查(命令行方式)
为了了解 EclEmma 是如何获得覆盖测试数据的,需要先对 Emma 有初步的了解。通常代码覆盖测试工具都需要对被执行的代码进行修改。而 Emma 提供了两种方式来完成这件事。
北京火龙果软件工程技术中心 本文主要通过一个示例项目介绍如何在集成了Ant和Junit的基础上,利用EMMA来收集单元测试对代码的覆盖率。介绍测试代码覆盖率的重要性测试驱动开发(TDD)是极限编程的一个重要特点,它...
用户代码覆盖率测试 ,开源可重写,对于产品质量控制非常重要
web开发,我们常常要进行多层的覆盖率测试,emma技术,能够实现。文档说明了如何配置和使用这项技术。
测试覆盖率(Code Coverage) 测试覆盖率,简单的说,就是评价测试活动覆盖产品代码的指标。本PPT简单的描述了下代码覆盖如何实现和运用的。
博文链接:https://laorer.iteye.com/blog/123893
使用Emma测试Android程序覆盖率的一点总结,将来继续完善
EMMA 是一个用于检测和报告 JAVA 代码覆盖率的开源工具。它不但能很好的用于小型项目,很方便得得出覆盖率报告,而且适用于大型企业级别的项目。
有关代码覆盖率-EMMA.docx详细介绍文档