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