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 } } }
Ubah versi Jacoco (opsional)
AGP akan otomatis menerapkan Jacoco saat Anda mengaktifkan cakupan pada modul. Namun, jika Anda perlu menggunakan Jacoco versi tertentu, Anda dapat menentukannya di file build level modul:
Kotlin
android { jacoco { version = "JACOCO_VERSION" } }
Groovy
android { jacoco { version = 'JACOCO_VERSION' } }
Membuat laporan cakupan spesifik per varian
Untuk membuat laporan cakupan hanya untuk pengujian unit atau hanya pengujian berinstrumen untuk varian tertentu, jalankan tugas yang sesuai.
| Jenis pengujian | Perintah | Laporkan lokasi |
|---|---|---|
| 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.
Dasbor ini memberikan tampilan komprehensif tentang cakupan kode project Anda dalam satu dasbor.
Prasyarat
- Plugin Android Gradle 9.2.0-alpha07 atau yang lebih tinggi
Untuk membuat laporan gabungan, jalankan salah satu tugas berikut dari command line:
| Cakupan | Perintah | Deskripsi | Laporkan lokasi |
|---|---|---|---|
| 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 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 apa pun untuk melihat kode dengan penyorotan untuk cakupan baris dan cabang:
- Hijau: Baris yang tercakup.
- Merah: Baris yang tidak tercakup.
- Kuning: Cakupan sebagian (beberapa petunjuk atau cabang terlewat).