JaCoCo
JaCoCo是一個可以展示測試覆蓋率的外掛
build.gradle 設定
buildTypes 內要開啟 testCoverageEnabled 設定才會產生覆蓋率報表
buildTypes {
release {
testCoverageEnabled false // 計算AutoTest覆蓋率, 打開的話會導致斷點測時函式的參數值看不到, 要用斷點測試時記得關閉.
}
debug {
testCoverageEnabled true // 計算AutoTest覆蓋率, 打開的話會導致斷點測時函式的參數值看不到, 要用斷點測試時記得關閉.
}
}
安裝
依下圖步驟安裝「JaCoCo plugin」
設定
在專案設定內點選「新增建置後動作」「Record JaCoCo coverage report」
下圖是 JaCoCo plugin 剛安裝好時的預設值
下圖是 Fly 專案使用的值
Path to exec files:
**/fly/build/outputs/code-coverage/connected/**/**.ec
Path to class directories:
**/fly/build/intermediates/classes/e7lifeDi0/debug
Path to source directories:
**/fly/src/
Exclusions:
**/*Test.class,**/R.class,**/R$*.class,**/BuildConfig.*,**/Manifest*.*
記得 gradle task 裡面必需要有 connectAndroidTest 相關的 task 才會產生報告
報告
執行成功的話在單次建置的頁面會看到本次建置的覆蓋率
左邊也會新增「Coverage Report」項目
點進去可以看到詳細的覆蓋率頁面如下
而在 branch 首頁會看到如下圖的覆蓋率趨勢圖
左邊也會新增「Coverage Report」項目,點進去是大張的覆蓋率趨勢圖頁