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