1 測(cè)試覆蓋率實(shí)現(xiàn)技術(shù)
Instrumentation:代碼注入,在產(chǎn)品代碼的關(guān)鍵位置插入統(tǒng)計(jì)代碼,從而獲得測(cè)試覆蓋率數(shù)據(jù)
Class Instrumentation: 把統(tǒng)計(jì)代碼插入編譯好的.class文件
Source Instrumentation:把統(tǒng)計(jì)代碼插入源代碼并編譯成新的.class文件
Custom JVM:在JVM中把統(tǒng)計(jì)代碼插入.class。測(cè)試覆蓋率分析可以在JVM執(zhí)行測(cè)試代碼的過程中完成
2 EclEmma介紹
一個(gè)優(yōu)秀的開源軟件測(cè)試工具
eclipse的一個(gè)插件
能夠?qū)τ?Java 語言編寫的程序進(jìn)行覆蓋測(cè)試
能夠在工作平臺(tái)中啟動(dòng)
直接對(duì)代碼覆蓋進(jìn)行分析
覆蓋結(jié)果將立即被匯總并在Java源代碼編輯器中高亮顯示
也可程序運(yùn)行的結(jié)果生成詳盡的覆蓋測(cè)試報(bào)告
可以結(jié)合JUnit、TestNG使用
工作原理:Class Instrumentation