Jacoco覆蓋率的疑問 類名為什麼顯示沒有覆蓋

2021-10-13 12:52:34 字數 562 閱讀 1055

今天看到乙個群的同事問了乙個問題: jacoco的報告中為什麼靜態類顯示為紅色沒有被覆蓋,但是實際上它裡面的方法確已經被覆蓋了呢?

這個問題我還是挺感興趣的。所以我嘗試去了解了下具體的原因,因為我們清楚jacoco的插樁方式是通過編譯後的class檔案進行插樁,所以我們也找到乙個類裡面都是靜態的方法然後進行插樁看下結果是咋樣的。

*

/public

class

propertyandconfigutil

}

類似於這樣子的類。我們拿到對應的class檔案以後。進行插樁檢視。

到這裡我們大概就能夠恍然大悟了。因為類如果預設沒寫建構函式就在編譯後會生成乙個預設的建構函式,然後agent就會去針對建構函式也插樁 所以就導致類沒有覆蓋的情況了。

jacoco生成覆蓋率

要統計自動化的覆蓋率,所以臨時看了下jacoco,記錄下過程。後續用的時候方便檢視。1 build.gradle中修改 jacoco android 2 直接編譯即可,這裡注意 測試用例必須全部通過,否則沒有結果。可以直接使用gradle已有的構建 我是直接命令列啟動的 gradle clean c...

精準測試與開源工具Jacoco的覆蓋率能力大PK

覆蓋率技術可以說是測試理論中最基本的技術體系,但由於傳統覆蓋率並沒有很好的適應新型軟體開發模型,導致應用場景越來越窄。比如 jacoco等同類工具,仍停留在傳統白盒覆蓋技術的技術演化層面,目前基本僅適用在瀑布模式的開發體系下。最新的測試黑馬技術 精準測試 覆蓋率功能是企業級 面向敏捷迭代場景 全新的...

如何保證測試的覆蓋率

一 首先測試需求分析要全面。測試需求分析分兩步 1 測試需求的獲取 顯式需求 1 原始需求說明書 2 產品規格書 3 軟體需求文件 4 有無繼承性文件 5 經驗庫 6 通用的協議規範 隱式需求 使用者的主觀感受,市場的主流觀點,專業人士的評價分析 2,需求的分析 產生測試需求文件 將不同的需求 劃分...