`
dengminhui
  • 浏览: 164022 次
  • 来自: ...
社区版块
存档分类
最新评论

使用Emma进行单元测试覆盖率统计

阅读更多

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来做一下检测。 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics