EMMA是一个免费且开源的Java代码覆盖率测试工具,100%纯Java编写,不依赖与任何第三方库。和其他代码覆盖率测试工具不同,EMMA支持大型项目的团队开发,每个开发人员都可以从中受益。
EMMA通过对Class文件进行增强以测试覆盖率,它提供了Offline和Fly两种模式,在Fly模式下,EMMA不改动编译后的Class文件,仅仅在Class文件被ClassLoader装载时才进行增强。
EMMA支持对类,方法,代码行和基本的分支语句的覆盖率测试,并提供了多种格式的报告,包括纯文本,HTML和XML,所有的报告都可以进行详细设置以获得定制报告。
使用EMMA时,不需要获得源代码就可进行覆盖率测试,此外,EMMA还支持对整个jar文件测试。
EMMA默认提供了对Ant的集成,通过扩展EMMA还可以提供对Maven和Eclipse的支持。