XP編程這么多時間以來深受大家的喜愛,代碼測試覆蓋率作為XP不可缺少的一個部分深受管理者的喜愛,在目前市場上有很多的這方面的工具,最經典的為cover,但其不是免費的(對商業不是免費,對open source是免費的),今天我將推薦JCoverage,這是一個很不錯的工具,雖然不是OpenSource的,但對于個人其有free版的.
主頁:http://www.jcoverage.com/
JCoverage的允許需要JUnit和Log4j,等類庫,你可以在其文檔中看到詳細說明,同時JCoverage可以和Ant結合在一起使用,
注意事項:
1 : 初始化是最好刪除當前目錄下的jcoverage.ser文件,這個文件就是測試的結果,如果其在當前目錄下找到這個文件將不會進行測試,或者重新測試
2 : 在進行instrument時,一定要保證其class是debug模式下編譯的,否則將不能注入jcoverage指令,建議從新用debug模式編譯一個在當前目錄[iocblog.net 來源]
3 : 在進行junit是,一定要保證測試的是加入jcoverage指令的類,否則不能生成jcoverage.ser文件,當然也就不能夠測試覆蓋率了,我在這個弄了很久,主要是classpath的問題,這個時候你要保證其的classpath中包含加入jcoverage指令的class并不簡單,如果你使用工程級別的classpath,那你就痛苦吧,我就是這樣痛苦的很,你最好使用一個新的classpath,即除了工程必須的就是加入jcoverage指令的class了,這也就是我下面的例子為什么那么煩瑣的原因;這個看似簡單的問題會把你的信心給掃的全無.因為如果你經常使用ant的話,那么在你的classpath中有很多個一樣的class,如工程自己一個,為了加入jcoverage指令而以debug模式編譯的一份,加入jcoverage指令的一份,那么現在至少有三份了,羅嗦了這么多就是不希望大家走彎路.
4 : 最后生成報告,你可以選擇html和xml格式,但free版只有html格式,這里有一個不是很完美的地方,如果你的資源代碼是UTF-8編碼的,那么生成的報告中代碼注釋將有一部分亂碼,
附錄中有兩部分內容:
附錄1:是我個人的ant腳本 ,這段腳步是我個人的環境,你如果需要使用請修改之 ,
附錄2:JCoverage的報告截圖 ,次報告為Html的格式,當然你也可以設置為其它格式
文章來源于領測軟件測試網 http://www.k11sc111.com/