EMMA是一個免費(fèi)且開源的Java代碼覆蓋率測試工具,純Java編寫,不依賴與任何第三方庫。和其他代碼覆蓋率測試工具不同,EMMA支持大型項(xiàng)目的團(tuán)隊(duì)開發(fā),每個開發(fā)人員都可以從中受益。
EMMA通過對Class文件進(jìn)行增強(qiáng)以測試覆蓋率,它提供了Offline和Fly兩種模式,在Fly模式下,EMMA不改動編譯后的Class文件,僅僅在Class文件被ClassLoader裝載時才進(jìn)行增強(qiáng)。
EMMA支持對類,方法,代碼行和基本的分支語句的覆蓋率測試,并提供了多種格式的報(bào)告,包括純文本,HTML和XML,所有的報(bào)告都可以進(jìn)行詳細(xì)設(shè)置以獲得定制報(bào)告。
使用EMMA時,不需要獲得源代碼可進(jìn)行覆蓋率測試,此外,EMMA還支持對整個jar文件測試。
EMMA默認(rèn)提供了對Ant的集成,通過擴(kuò)展EMMA還可以提供對Maven和Eclipse的支持。