Melihat laporan cakupan kode

Plugin Android Gradle dapat membuat laporan cakupan kode yang melacak persentase kode yang dicakup oleh pengujian Anda. Halaman ini menjelaskan cara mengaktifkan pelaporan cakupan dan membuat laporan.

Anda dapat membuat laporan cakupan untuk setiap jenis pengujian (unit dan instrumentasi) untuk setiap varian. Anda juga dapat membuat laporan cakupan terpadu di berbagai jenis pengujian, modul, dan varian build.

Mengaktifkan cakupan kode

Cakupan kode harus diaktifkan dengan menetapkan enableAndroidTestCoverage dan enableUnitTestCoverage ke true dalam file build level modul untuk setiap varian yang ingin Anda dapatkan laporan cakupannya:

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
        }
    }
}

Mengubah versi Jacoco (opsional)

AGP otomatis menerapkan Jacoco saat Anda mengaktifkan cakupan pada modul. Namun, jika Anda perlu menggunakan versi Jacoco tertentu, Anda dapat menentukannya dalam file build level modul:

Kotlin

android {
    jacoco {
        version = "JACOCO_VERSION"
    }
}

Groovy

android {
    jacoco {
        version = 'JACOCO_VERSION'
    }
}

Membuat laporan cakupan khusus varian

Untuk membuat laporan cakupan hanya untuk pengujian unit atau hanya pengujian berinstrumen untuk varian tertentu, jalankan tugas yang sesuai.

Jenis uji Perintah Lokasi laporan
Pengujian unit ./gradlew :module-name:createVariantNameUnitTestCoverageReport path-to-your-project/module-name/build/reports/coverage/test/variant/index.html
Pengujian berinstrumen ./gradlew :module-name:createVariantNameAndroidTestCoverageReport path-to-your-project/module-name/build/reports/coverage/androidTest/variant/connected/index.html

Membuat laporan cakupan kode terpadu

Anda dapat membuat laporan cakupan kode terpadu menggunakan tugas Gradle createCoverageReport dan createAggregatedCoverageReport. Anda dapat menggunakan tugas ini untuk membuat satu laporan HTML yang menggabungkan data cakupan dari berbagai jenis pengujian (unit dan instrumentasi), modul, dan varian build. Hal ini memberikan tampilan komprehensif cakupan kode project Anda dalam satu dasbor.

Prasyarat

Untuk membuat laporan terpadu, jalankan salah satu tugas berikut dari command line:

Cakupan cakupan Perintah Deskripsi Lokasi laporan
Modul saat ini ./gradlew :module-name:createCoverageReport Membuat laporan cakupan terpadu untuk modul saat ini, menggabungkan data dari semua jenis pengujian. path-to-your-project/module-name/build/reports/code_coverage_html_report/
Modul dan dependensi saat ini ./gradlew :module-name:createAggregatedCoverageReport Membuat laporan cakupan terpadu untuk modul saat ini dan semua dependensinya. Tugas ini tersedia untuk modul aplikasi dan modul library dengan publikasi yang diaktifkan. path-to-your-project/module-name/build/reports/aggregated_code_coverage_html_report/

Halaman landing laporan HTML yang dibuat menampilkan ringkasan tingkat tinggi dari semua modul. Anda dapat melihat detail dari modul ke paket, dari paket ke class, dan dari class ke file sumber. Klik file apa pun untuk melihat kode dengan sorotan untuk cakupan baris dan cabang:

  • Hijau: Baris yang tercakup.
  • Merah: Baris yang tidak tercakup.
  • Kuning: Cakupan sebagian (beberapa petunjuk atau cabang terlewatkan).