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来做一下检测。
分享到:
相关推荐
### EclEmma Java单元测试覆盖率详解 #### 一、EclEmma简介 EclEmma是一款专为Eclipse设计的强大插件,主要用于Java项目的代码覆盖率分析。通过对Java代码进行覆盖率检查,开发人员可以清晰地了解到哪些代码已经被...
标题中的“emma统计手工测试或Ui测试覆盖率”指的是Emma,一个开源的Java代码覆盖率工具,它可以帮助开发者衡量单元测试和集成测试对代码的覆盖程度。Emma可以与JUnit、TestNG等测试框架配合使用,提供类、方法、行...
Emma是一款非常流行的用于Java项目的测试覆盖率分析工具,它能够帮助开发人员评估单元测试的质量,并找出未被测试覆盖的代码区域。作为一款开源软件,Emma在SourceForge上得到了广泛的社区支持。而EclEmma则是Emma的...
EMMA是一款专为Java开发设计的...总的来说,EMMA作为一个强大的Java代码覆盖率统计工具,能够帮助开发者更有效地进行单元测试,提升软件的质量和可靠性。通过深入理解和应用EMMA,可以为项目的测试工作提供有力的支持。
这篇转自iteye博客的文章,标题为“[转]EMMA测试代码覆盖率的脚本”,显然是在分享如何使用EMMA与jUnit结合,通过构建脚本来实现自动化测试覆盖率的计算。 首先,我们需要理解EMMA的基本用法。EMMA分为命令行工具和...
Emma支持类、方法、块和条件级别的覆盖率统计。 2. **Emma与Ant集成** `emma_ant.jar`是Emma与Apache Ant的集成组件。Ant是Java项目常用的自动化构建工具,它允许用户通过XML配置文件定义构建任务。`emma_ant.jar`...
- 覆盖率统计显示当前测试运行覆盖了多少代码。 5. **合并多次测试结果**: - 重复覆盖测试过程多次。 - 使用 Coverage 视图中的工具按钮合并多次测试的结果。 - 查看合并后的测试覆盖率。 #### 四、EclEmma的...
开发者可以通过查看覆盖率视图,深入了解项目的测试覆盖率情况,并根据需要优化测试用例。 总的来说,EclEmma V1.3.2是Java开发中提高测试效率和质量的有效工具,它通过提供直观的覆盖率信息,帮助开发者实现更全面...
Maven 中的代码覆盖率插件是通过 cobertura-maven-plugin 和 emma-maven-plugin 实现的,该插件提供了对 Java 代码的代码覆盖率检查功能,能够检测出代码中的代码覆盖率。通过该插件,开发者可以对代码进行代码覆盖...