Cobertura測試覆蓋率統計工具簡介及使用
1、將cobertura的路徑設定到path中
2、將要測試的原始碼,編譯之後的位元組碼檔案和所需要的jar包拷貝到一個單獨的目錄中做處理(直接進入Eclipse的工作空間進行拷貝)
習慣將lib/src兩個檔案放到bin中,目錄結構如下圖:
3、在命令提示符中使用命令為要生成測試覆蓋率報告的程式碼生成一個ser的檔案
3.1、生成cobertura.ser檔案
將目錄切換到我們上一步放置檔案的目錄:
執行如下命令:
cobertura-instrument --destination instrumented com/lxh/service
如下圖:
生成如下的目錄結構:
4、基於ser檔案執行測試
4.1、
java -cp lib/cobertura-2.1.1.jar;lib/hamcrest-all-1.3.jar;lib/junit.jar;lib/mysql-connector-java-5.1.21.jar;lib/org.hamcrest.core_1.3.0.jar;lib/slf4j-api-1.7.5.jar;instrumented;.;-Dnet.sourceforge.cobertura.datafile=cobertura.ser
org.junit.runner.JUnitCore com.lxh.service.TestUserService
注:-cp命令後面跟的jar包,是lib目錄中的所有必需jar包
5、根據ser檔案生成測試覆蓋率的報告
特別注意:如果檔案的編碼是utf-8的,在生成報告前需要為cobertura-report.bat檔案增加DfileEncoding的處理
生成測試覆蓋率的報告命令如下:
cobertura-report --format html --datafile cobertura.ser --destination reports src
完成上面的步驟後,我們的測試報告生成完畢,如下圖:
點選index.html即可檢視報告:
從圖中就可以看到我們測試案例覆蓋情況,標紅的程式碼表示測試案例未覆蓋到區域。。