Cobertura命令行方式測試覆蓋率

最開始想在Eclipse中用Cobertura,結果插件安裝不上,然後在Eclipse中用jar包試,運行出來有錯,Cobertura 好像不支持java1.8,最後用命令行成功。

下載Cobertura

下載網址:http://cobertura.github.io/cobertura/.
解壓下載的壓縮文件。如圖cobertura

準備工作

  1. 在eclipse中新建一個java項目,添加被測文件,利用evosuite插件生成測試數據,移動到和被測文件同一包下,修改錯誤。如圖新建項目
  2. 進入該項目的工作空間,將bin和src文件複製到一個新的文件夾cobertura,並將src文件移動到bin目錄下。
  3. 將前面解壓後的cobertura-2.1.1文件夾放入cobertura目錄下,並將cobertura-2.1.1下的lib文件夾拷貝到cobertura/bin目錄下。如圖cobertura文件夾
    bin文件夾

測試覆蓋率

  1. 生成代碼覆蓋率的代碼和cobertura.ser文件。
    到bin目錄下,運行命令:
    F:\cobertura\cobertura-2.1.1\cobertura-instrument.bat --destination instrumented source
    生成instrumented文件夾和cobertura.ser文件,instrumented中包含着class文件,如圖運行命令
    生成文件
  2. 根據cobertura.ser文件運行測試
    繼續運行命令:
    java -cp lib/junit-4.11.jar;lib/hamcrest-core-1.3.jar;lib/cobertura-2.1.1.jar;lib/slf4j-api-1.7.5.jar;instrumented;.; -Dnet.sourceforge.cobertura.datafile=cobertura.ser org.junit.runner.JUnitCore source.cobertura_ESTest
    運行測試命令
  3. 生成報告
    繼續運行命令:
    F:\cobertura\cobertura-2.1.1\cobertura-report.bat --format html -datafile=cobertura.ser --destination report src
    生成報告命令
    此時,bin目錄下自動生成report文件夾,點擊裏面的index.html就可以看到覆蓋率。如圖
    report文件夾
    報告
    點擊每個類進去,可以看到每條語句的執行情況。

[參考文檔]

關於如何使用Cobertura的命令行方式測試覆蓋率,還可以參考以下博客
https://blog.csdn.net/zxdfc/article/details/52198202.
https://blog.csdn.net/lyliyongblue/article/details/44708541.
http://www.itkeyword.com/doc/2634260868462837549/tomcat-command-reportclasshtml.
Cobertura 好像不支持java1.8https://blog.csdn.net/AlbertFly/article/details/89319148#commentBox.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章