複製鏈接
請複製以下鏈接發送給好友

Emma

(用於檢測和報告 JAVA 代碼覆蓋率的開源工具)

鎖定
EMMA 是一個用於檢測和報告 JAVA 代碼覆蓋率的開源工具。它不但能很好的用於小型項目,很方便得得出覆蓋率報告,而且適用於大型企業級別的項目。 EMMA 有許多優點,首先你能免費得到它,並把它用於自己項目的開發。它支持許多種級別的覆蓋率指標:包,類,方法,語句塊(basic block)和行,特別是它能測出某一行是否只是被部分覆蓋,如條件語句短路的情況。它能生成 text,xml,html 等形式的報告,以滿足不同的需求,其 html 報告提供下鑽功能,我們能夠從 package 開始一步步鏈接到我們所關注的某個方法。EMMA 能和 Makefile 和 Ant 集成,便於應用於大型項目。特別還須指出的一點是,EMMA 的效率很高,這對於大型項目來説很重要。
EMMA 是通過向 .class 文件中插入字節碼的方式來跟蹤記錄被運行代碼信息的。EMMA 支持兩種模式:On the fly 和 Offline 模式。
外文名
Emma
類    型
開源工具
支    持
On the fly 和 Offline 模式

目錄

Emma模式

On the fly
On the fly 模式往加載的類中加入字節碼,相當於用 EMMA 實現的 application class loader 替代原來的 application class loader。
Offline
Offline 模式在類被加載前,加入字節碼。

Emma簡單介紹

On the fly 模式比較方便,缺點也比較明顯,如它不能為被 boot class loader 加載的類生成覆蓋率報告,也不能為像 J2EE 容器那種自己有獨特 class loader 的類生成覆蓋率報告。這時,我們能求助於 Offline 模式。
EMMA 也支持兩種運行方式:Command line 和 Ant。
命令行一般和 On the fly 模式一起適用,對於簡單的項目能夠快速產生覆蓋率報告。通過 Ant task 來運行 EMMA 的話,特別適用於大型的項目。