Kover adalah serangkaian solusi untuk mengumpulkan cakupan pengujian kode Kotlin yang dikompilasi untuk platform JVM dan Android.
Perangkat Kover:
Plugin Kover Gradle
Plugin Kover Maven
CLI Kover
Instrumentasi offline Kover
Agen Kover JVM
Kover menampilkan artefak
Untuk informasi lengkap tentang rilis stabil terbaru Plugin Kover Gradle, silakan merujuk ke dokumentasi.
Pengumpulan cakupan kode melalui pengujian JVM
(JS dan target asli belum didukung).
Menghasilkan laporan HTML
dan XML
.
Dukungan untuk Kotlin JVM
, proyek Kotlin Multiplatform
.
Dukungan untuk proyek Kotlin Android
dengan varian build (uji instrumentasi yang dijalankan pada perangkat Android belum didukung).
Mendukung sumber campuran Kotlin
dan Java
Aturan verifikasi dengan batasan di plugin Gradle untuk melacak cakupan.
Menggunakan perpustakaan JaCoCo di plugin Gradle sebagai alternatif untuk pengukuran cakupan dan pembuatan laporan.
Cara yang disarankan untuk menerapkan Kover adalah dengan plugin DSL.
Versi minimum Gradle
yang didukung adalah 6.8
.
Tambahkan yang berikut ini ke file build tingkat atas Anda:
plugin { id("org.jetbrains.kotlinx.kover") versi "0.9.0-RC"}
plugin { id 'org.jetbrains.kotlinx.kover' versi '0.9.0-RC'}
Setelah Anda menerapkan plugin Kover Gradle, tugas Kover akan dibuat untuk menghasilkan laporan dan verifikasi. Misalnya untuk menghasilkan laporan HTML, jalankan ./gradlew koverHtmlReport
- ini secara otomatis akan memulai kompilasi kode, pelaksanaan pengujian berinstrumen, dan laporan HTML akan dibuat dengan hasil pengukuran di folder build.
Penting juga bahwa setelah menerapkan plugin Kover Gradle, selama pengujian yang berjalan, kelas-kelas tersebut dimodifikasi (diinstrumentasi) ketika dimuat ke dalam JVM yang dapat menyebabkan penurunan kinerja, atau memengaruhi pengujian bersamaan.
Metode lama dalam menerapkan plugin dapat digunakan jika Anda tidak dapat menggunakan plugin DSL karena alasan tertentu.
skrip pembangunan { repositori { pakarPusat() } ketergantungan { classpath("org.jetbrains.kotlinx:kover-gradle-plugin:0.9.0-RC") } }menerapkan(plugin = "org.jetbrains.kotlinx.kover")
skrip pembangunan { repositori { pakarPusat() } ketergantungan { classpath 'org.jetbrains.kotlinx:kover-gradle-plugin:0.9.0-RC'} } terapkan plugin: 'org.jetbrains.kotlinx.kover'
Anda harus menambahkan ketergantungan pada proyek tempat tugas laporan akan dijalankan
ketergantungan { kover(proyek(":yang lain:proyek")) }
dalam hal ini laporan akan dibuat untuk proyek saat ini yang digabungkan dengan proyek :another:project
.
Contoh penerapan plugin Gradle lainnya dapat ditemukan di folder contoh
Plugin Agregat Kover sebagai prototipe plugin Gradle Settings, dibuat untuk menyederhanakan penyiapan build multi-proyek. Ini masih dalam tahap awal, disarankan untuk menggunakannya hanya untuk pengujian atau proyek kesayangan.
Lihat dokumentasi untuk detailnya.
Plugin Kover Maven dapat diterapkan dengan menentukan plugin build
<plugin> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kover-maven-plugin</artifactId> <version>0.9.0-RC</version> </plugin>
Daftar tujuan Kover ditentukan di bagian dokumen ini.
Untuk informasi lengkap tentang rilis stabil terbaru Plugin Kover Maven, silakan merujuk ke dokumentasi.
Aplikasi JVM mandiri yang digunakan untuk instrumentasi offline dan pembuatan laporan yang dapat dibaca manusia.
Dokumentasi Kover CLI.
Instrumentasi offline adalah modifikasi file kelas yang disimpan di disk untuk mengukur cakupannya.
Cara instrumentasi offline dan menjalankan aplikasi yang diinstrumentasi dijelaskan dalam dokumentasi.
Agen JVM adalah file jar yang mengubah bytecode yang dimuat ke dalam kelas JVM untuk mengukur cakupan. Dokumentasi.
Ketergantungan JVM yang memungkinkan untuk menginstrumentasikan file kelas pada disk secara terprogram.
Dokumentasi artefak fitur Kover
Lihat Pedoman Berkontribusi.