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 menyetel 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 perlu menggunakan Jacoco versi tertentu, Anda dapat menentukannya di file build level modul:
Kotlin
android { testCoverage { jacocoVersion = "JACOCO_VERSION" } }
Groovy
android { testCoverage { jacocoVersion = 'JACOCO_VERSION' } }
Membuat laporan cakupan khusus varian
Untuk membuat laporan cakupan hanya untuk pengujian unit atau hanya uji instrumentasi 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 testAllSuites
dan testAllSuitesWithDependencies. Tugas ini akan menghasilkan 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
- Plugin Android Gradle 9.5.0-alpha05 atau yang lebih tinggi
- Mengaktifkan cakupan kode
Untuk membuat laporan gabungan, jalankan salah satu tugas berikut dari command line:
| Cakupan liputan | Perintah | Deskripsi | Lokasi laporan |
|---|---|---|---|
| Modul saat ini | ./gradlew :module-name:testAllSuites --continue |
Menguji semua suite pengujian, dan membuat laporan cakupan terpadu untuk modul saat ini, yang menggabungkan data dari semua jenis pengujian. | path-to-your-project/module-name/build/reports/testAllSuites/coverage-report/ |
| Modul dan dependensi saat ini | ./gradlew :module-name:testAllSuitesWithDependencies --continue |
Menguji semua suite pengujian, dan 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/testAllSuitesWithDependencies/coverage-report/ |
Halaman landing laporan HTML yang dihasilkan menampilkan ringkasan umum semua modul. Anda dapat melihat perincian dari modul ke paket, dari paket ke class, dan dari class ke file sumber. Klik file mana pun untuk melihat kode dengan penandaan untuk cakupan baris dan cabang:
- Hijau: Baris yang tercakup.
- Merah: Baris yang tidak tercakup.
- Kuning: Cakupan parsial (beberapa petunjuk atau cabang terlewat).