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
- Plugin Android Gradle 9.3.0-alpha09 atau yang lebih tinggi
- Mengaktifkan cakupan kode
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).