Kover es un conjunto de soluciones para recopilar cobertura de prueba de código Kotlin compilado para plataformas JVM y Android.
Conjunto de herramientas Kover:
Complemento Kover Gradle
Complemento Kover Maven
CLI de Kover
Instrumentación fuera de línea de Kover
Agente JVM de Kover
Kover presenta artefacto
Para obtener información completa sobre la última versión estable del complemento Kover Gradle, consulte la documentación.
Recopilación de cobertura de código a través de pruebas JVM
(JS y objetivos nativos aún no son compatibles).
Generación de informes HTML
y XML
.
Soporte para Kotlin JVM
, proyectos Kotlin Multiplatform
.
Soporte para proyectos Kotlin Android
con variantes de compilación (las pruebas de instrumentación que se ejecutan en el dispositivo Android aún no son compatibles).
Admite fuentes mixtas Kotlin
y Java
Reglas de verificación con límites en el complemento Gradle para realizar un seguimiento de la cobertura.
Uso de la biblioteca JaCoCo en el complemento Gradle como alternativa para medir la cobertura y generar informes.
La forma recomendada de aplicar Kover es con los complementos DSL.
La versión mínima admitida de Gradle
es 6.8
.
Agregue lo siguiente a su archivo de compilación de nivel superior:
complementos { id("org.jetbrains.kotlinx.kover") versión "0.9.0-RC"}
complementos { id 'org.jetbrains.kotlinx.kover' versión '0.9.0-RC'}
Después de aplicar el complemento Kover Gradle, se crearán tareas de Kover para generar informes y verificación. Por ejemplo, para generar un informe HTML, ejecute ./gradlew koverHtmlReport
: esto iniciará automáticamente la compilación del código, la ejecución de pruebas instrumentadas y se generará un informe HTML con los resultados de las mediciones en la carpeta de compilación.
También es importante que después de aplicar el complemento Kover Gradle, durante las pruebas en ejecución, las clases se modifiquen (instrumenten) cuando se cargan en la JVM, lo que puede provocar cierta degradación del rendimiento o afectar las pruebas concurrentes.
Se puede utilizar el método heredado de aplicación de complementos si no puede utilizar los complementos DSL por algún motivo.
construir script { repositorios { expertoCentral() } dependencias { classpath("org.jetbrains.kotlinx:kover-gradle-plugin:0.9.0-RC") } }aplicar(plugin = "org.jetbrains.kotlinx.kover")
construir script { repositorios { expertoCentral() } dependencias { classpath 'org.jetbrains.kotlinx:kover-gradle-plugin:0.9.0-RC'} } aplicar complemento: 'org.jetbrains.kotlinx.kover'
Debe agregar dependencia del proyecto en el que se ejecutará la tarea de informe.
dependencias { kover(proyecto(":otro:proyecto")) }
en este caso, se generará un informe para el proyecto actual unido a :another:project
.
Se pueden encontrar más ejemplos de aplicación del complemento Gradle en la carpeta de ejemplos
Complemento agregado de Kover como prototipo del complemento de configuración de Gradle, creado para simplificar la configuración de compilaciones de múltiples proyectos. Está en su infancia, se recomienda usarlo solo para pruebas o proyectos favoritos.
Consulte la documentación para obtener más detalles.
El complemento Kover Maven se puede aplicar especificando el complemento de compilación
<complemento> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kover-maven-plugin</artifactId> <versión>0.9.0-RC</versión> </complemento>
La lista de objetivos de Kover se especifica en esta sección del documento.
Para obtener información completa sobre la última versión estable del complemento Kover Maven, consulte la documentación.
Aplicación JVM independiente utilizada para instrumentación fuera de línea y generación de informes legibles por humanos.
Documentación del Kover CLI.
La instrumentación fuera de línea es la modificación de archivos de clase almacenados en el disco para medir su cobertura.
Las formas de instrumentación fuera de línea y ejecución de las aplicaciones instrumentadas se describen en la documentación.
El agente JVM es un archivo jar que modifica el código de bytes cargado en las clases JVM para medir la cobertura. Documentaciones.
Una dependencia de JVM que permite instrumentar mediante programación archivos de clase en un disco.
La documentación de Kover presenta artefactos.
Consulte las pautas de contribución.