0 二者總體功能對比

Open Cover 官方給出的詳細對比
http://openclover.org/doc/manual/latest/general–comparison-of-code-coverage-tools.html#Comparisonofcodecoveragetools-legend
1 資料結構對比
1.1 UML 圖
cobertura
net.sourceforge.cobertura.coveragedata
JaCoCo
org.jacoco.core.internal.analysis
包
都差不多,公共的都支援分支,方法,類,包的覆寫率統計
1.2 核心結構
方法指令的有狀态生成器.一個方法的所有指令必須按照它們的原始順序加上附加資訊,如行号。
之後,可以使用getInstructions方法獲得ASM指令map
對于該指令生成器結構,封裝的是 boolean 數組的探針,無法實作計數,是以需要考慮改造成 int 型數組,之後如何去接收 int 值也是問題.
Cobertura
但是 Cobertura 的 lineData 覆寫類型還維護了 hit 字段,用于記錄觸發次數,符合目前需要
2 客戶操作自由度
2.1 架構熱插拔植入
- 目前最為熟悉的架構,需要将功能完善的代碼打成 jacocoagent.jar 後,通過JDK6 instrument API 熱部署到客戶程式中.
- 和 jacoco 一樣從 JDK5 開始設計的架構,都不支援熱插拔,這裡都需要需要改動
2.2 定時任務
都需要适配