eclemma是一款专业强大的开源性Java代码覆盖率测试工具。软件基于EMMA,eclemma可让你在Eclipse工作平台中使用强大的Java代码覆盖工具EMMA,用于实际项目开发,覆盖率能保证代码的逻辑正确率,并将覆盖结果汇总并在Java源代码编辑器中高亮显示或结果生成详尽的覆盖测试报告,帮助开发人员更好的进行程序测试,保证代码的逻辑正确率。
软件功能
分支覆盖
这个额外的度量将显示程序流中由于if和switch语句或?操作符。结果将直接显示在Java编辑器中,类似于使用左标尺中的新注释图标显示JaCoCo报表。此外,可以将覆盖率视图切换到分支计数器。此外,覆盖率属性页将显示所有Java元素的分支图。此外,圈复杂度显示在视图和属性页面上。不再支持以前的"块"计数器。
更快的启动
由于JaCoCo覆盖率库的工作方式,当被测试的应用程序启动时,不会再有任何延迟。这是对大型应用程序和测试套件的显著性能改进。
微创
某些发射类型和测试场景需要在EclEmma 1.x中使用所谓的就地设备。使用此选项,原始类文件将在磁盘上进行修改,并需要在切换回另一个启动模式时使用干净的构建来恢复。当就地模式被激活时,还可以将JAR文件排除在覆盖率分析之外。在没有就地检测的情况下,被测应用程序的类路径被修改,这给一些应用程序带来了麻烦。
对于磁盘上的EclElmma 2.0类文件,永远不会被修改,应用程序的类路径也不会被修改。这将消除一些麻烦,特别是对于Eclipse应用程序启动和JUnit插件测试。
中间和远程覆盖分析
JaCoCo 2.0(更有可能是其后续版本之一)将支持在本地或远程运行的应用程序上的中间覆盖转储,而不会停止正在测试的应用程序。这还允许重置为运行中的应用程序收集的覆盖率信息。
灵活的分析范围
覆盖分析的范围可以在以后的任何时候修改。而在EclEmma 1。在应用程序启动之前,需要在覆盖率启动对话框中指定范围,使用EclEmma 2.0,可以在查看覆盖率会话结果时随时更改范围。
软件特色
覆盖率视图的工具栏提供以下操作:
上次启动的覆盖率:重新运行当前选定的覆盖率会话。
转储执行数据:从正在运行的进程转储执行数据,并从数据创建一个新的会话。只有在至少一个进程在覆盖模式下运行时才激活。
删除活动会话:删除当前选定的覆盖率会话。
删除所有会话:删除所有覆盖率会话。
合并会话:将多个会话合并为一个会话。
选择会话:从下拉菜单中选择会话并使其成为活动会话。
折叠所有:折叠所有展开的树节点。
链接到当前选择:如果这个切换被选中,覆盖率视图会自动显示当前在其他视图或编辑器中选择的Java元素。
使用方法
1、下载得到几个jar程序,将其添加到Eclipse软件使用
2、使用覆盖视图
覆盖视图时自动出现一个新的覆盖会话添加或从窗口→显示视图可以手动打开菜单在Java类。它显示了活动会话的覆盖率摘要。
3、覆盖属性
对于每个Java元素(Java项目、源文件夹、包、类型或方法),EclEmma提供一个覆盖率属性页面,汇总所有覆盖率计数器:
4、源代码注释
活动覆盖率会话的行覆盖率和分支覆盖率也直接显示在Java源编辑器中。这适用于项目中包含的Java源文件以及附加到二进制库的源代码。
5、覆盖修饰符
注意:这是一个非默认启用的可选特性。
Eclipse workbench的概念是所谓的decorator,它向workbench视图中显示的元素添加了图形和文本信息。EclEmma为当前活动的覆盖率会话提供覆盖率decorator:元素图标上的一个绿色/红色小条和名称旁边的一个百分比值。
更新日志
版本3.1.0
升级到JaCoCo 0.8.1,为Java 10提供支持,并过滤出各种编译器生成的工件,否则就需要一些不必要的、有时是不可能的技巧,以避免部分或遗漏的覆盖,例如,使用资源语句的字节码的一部分(Eclipse Bug 529391, 532770)。
为了与Eclipse光子UI保持一致,在上下文和运行菜单中添加了"覆盖率为"的图标(Eclipse Bug 530668)。
版本3.0.1(2017/11/14)
修正了"转储执行数据"对话框中的NullPointerException和ArrayIndexOutOfBoundsException (Eclipse Bug 519126,519149)。
为了与"Run"菜单中的其他项保持一致,项目"上次启动的覆盖率"和"覆盖率……"被重命名为"覆盖率"和"覆盖率配置……"(Eclipse Bug 517712)。
context tuallaunchabletester记录的错误消息现在包含委托快捷id (Eclipse Bug 526701)。