查看程式碼涵蓋率報表

Android Gradle 外掛程式可以建立程式碼涵蓋率報告,追蹤測試涵蓋的程式碼百分比。本頁說明如何啟用涵蓋範圍報表功能及產生報表。

您可以為每個變體產生每種測試類型 (單元和插樁) 的涵蓋範圍報表。您也可以針對不同測試類型、模組和建構變化版本,產生統一的涵蓋範圍報表。

啟用程式碼涵蓋率

如要啟用程式碼涵蓋率,請在每個要取得涵蓋率報表的變數的模組層級建構檔案中,將 enableAndroidTestCoverageenableUnitTestCoverage 設為 true

Kotlin

android {
    // ...
    buildTypes {
        debug {
            // Enable coverage for unit tests
            enableUnitTestCoverage = true
            // Enable coverage for instrumentation tests
            enableAndroidTestCoverage = true
        }
    }
}

Groovy

android {
    // ...
    buildTypes {
        debug {
            // Enable coverage for unit tests
            enableUnitTestCoverage true
            // Enable coverage for instrumentation tests
            enableAndroidTestCoverage true
        }
    }
}

變更 Jacoco 版本 (選用)

在模組上啟用涵蓋範圍時,AGP 會自動套用 Jacoco。 不過,如果您需要使用特定版本的 Jacoco,可以在模組層級建構檔案中指定:

Kotlin

android {
    jacoco {
        version = "JACOCO_VERSION"
    }
}

Groovy

android {
    jacoco {
        version = 'JACOCO_VERSION'
    }
}

產生特定變體的涵蓋範圍報表

如要只為特定變數的單元測試或檢測設備測試產生涵蓋範圍報告,請執行對應的工作。

測試類型 指令 回報位置
單元測試 ./gradlew :module-name:createVariantNameUnitTestCoverageReport path-to-your-project/module-name/build/reports/coverage/test/variant/index.html
檢測設備測試 ./gradlew :module-name:createVariantNameAndroidTestCoverageReport path-to-your-project/module-name/build/reports/coverage/androidTest/variant/connected/index.html

產生整合式程式碼涵蓋率報表

您可以使用 createCoverageReportcreateAggregatedCoverageReport Gradle 工作產生統一的程式碼涵蓋率報表。您可以使用這些工作,產生單一 HTML 報表,整合不同測試類型 (單元和插樁)、模組和建構變體的涵蓋範圍資料。您可以在單一資訊主頁中,全面掌握專案的程式碼涵蓋率。

必要條件

  • Android Gradle 外掛程式 9.2.0-alpha07 以上版本

如要產生統一報表,請從指令列執行下列其中一項工作:

涵蓋範圍 指令 說明 回報位置
目前模組 ./gradlew :module-name:createCoverageReport 為目前模組產生統一的涵蓋範圍報告,並合併所有測試類型的資料。 path-to-your-project/module-name/build/reports/code_coverage_html_report/
目前模組和依附元件 ./gradlew :module-name:createAggregatedCoverageReport 為目前模組和所有依附元件產生統一的涵蓋範圍報表。這項工作適用於應用程式模組和已啟用發布功能的程式庫模組 path-to-your-project/module-name/build/reports/aggregated_code_coverage_html_report/

產生的 HTML 報表到達網頁會顯示所有模組的概略摘要。您可以從模組向下鑽研至套件、從套件向下鑽研至類別,以及從類別向下鑽研至來源檔案。按一下任一檔案,即可查看程式碼,其中會醒目顯示行和分支涵蓋範圍:

  • 綠色:涵蓋的程式碼行。
  • 紅色:未涵蓋的程式碼行。
  • 黃色:部分涵蓋範圍 (遺漏部分指令或分支)。