Kover, l'outil de couverture de code pour Kotlin, Java et KMM

Comment intégrer Kover dans un projet d'application mobile Android ? Quels sont les avantages de Kover pour gérer la couverture de code Kotlin, Java et KMM ? Nos conseils pour intégrer Kover dans votre CI.
Kover, l'outil de couverture de code pour Kotlin, Java et KMM

Si vous développez des applications Android, mesurer la couverture de code est un impératif pour s'assurer de la qualité et de la fiabilité de votre code.
Traditionnellement, JaCoCo a été la solution de prédilection pour cette tâche, mais ceux qui ont utilisé cet outil savent que la configuration peut s'avérer fastidieuse, notamment lors des mises à jour du plugin gradle pour Android.

Heureusement, les choses évoluent et de nouvelles solutions émergent tel que Kover, l'outil de calcul de couverture de code qui s'adresse directement aux développeurs utilisant Kotlin, Java, et même pour les projets de Multiplatform Mobile (KMM).

Si vous souhaitez obtenir un retour d’expérience ou échanger sur l’intégration de Kover dans un de vos projets Android, n’hésitez pas à nous contacter.

Des questions sur Kover ? Contactez-nous !

Qu'est-ce que Kover ?

Kover est un plugin gradle développé pour simplifier le processus de mesure de la couverture de code pour les projets Android.
Son intégration facile et sa configuration légère le rendent particulièrement attrayant.
En effet, Kover offre de nombreux avantages qui vont au-delà de la simple mesure de couverture de code.

Les avantages de Kover

Les perspectives d'amélioration de Kover

Malgré ses nombreux points positifs, Kover n'est pas sans défaut. Actuellement, la génération d'un rapport unifié pour les projets avec plusieurs modules nécessite encore de nombreuses manipulations.
Nous espérons voir cet aspect s'améliorer à l'avenir afin de simplifier encore davantage le processus de rapport de couverture pour les grands projets.

D’une version à une autre, le plugin peut être amené à d’importants changements étant donné qu’il est toujours en phase de développement.
N'hésitez pas à consulter le changelog ainsi que la documentation qui est plutôt bien fournie depuis le Github afin de conserver des rapports utilisables et conformes à ce que vous souhaitez pour votre projet

Pourquoi la couverture de code est-elle si importante ?

La couverture de code est un indicateur qui mesure le pourcentage de code qui est “couvert” lors de l’exécution des tests d’un logiciel ou d’une application mobile.
Cette métrique est cruciale car elle permet de détecter les zones de code qui n'ont pas été testées, ce qui peut s'avérer utile pour identifier les risques potentiels de bugs ou de dysfonctionnements dans votre application.
Une bonne couverture de code assure que toutes les fonctionnalités importantes ont été testées et fonctionnent comme prévu, augmentant ainsi la confiance dans la qualité de l’application délivrée.
Cela permet également d’éviter de potentielles régressions si l’on s'aperçoit qu’un test ne passe plus à la suite d’un nouveau développement.

Comment intégrer Kover dans votre projet Android ?

Passer à Kover est un processus simple.
Vous pouvez commencer par ajouter la dépendance du plugin Kover à votre fichier de configuration gradle de niveau projet.

Voici un petit guide pour vous aider dans cette démarche :

  1. Ajoutez le plugin à votre fichier build.gradle de niveau projet :

    plugins {
        id 'org.jetbrains.kotlinx.kover' version '0.4.2'
    }
    
  2. Appliquez le plugin dans le build.gradle de votre module :

    apply plugin: 'org.jetbrains.kotlinx.kover'
    
  3. Exécutez les tâches gradle pour générer les rapports de couverture :

    ./gradlew koverHtmlReport
    

Ceci est un exemple qui démontre la rapidité d’intégration du plugin pour un cas simple. Pour l’intégration dans un projet multi-module, veuillez vous référer à l’exemple suivant.

FAQ

Qu'est-ce que Kover et à quoi sert-il ?

Kover est un plugin gradle conçu pour mesurer la couverture de code dans les projets Android, Kotlin, Java et KMM. Il simplifie le processus de mesure de la couverture de code en offrant une configuration légère et une intégration facile.

Quels sont les principaux avantages de Kover par rapport à JaCoCo ?

Les principaux avantages de Kover incluent une installation simplifiée sans configuration manuelle des chemins, l'automatisation des tâches de test et de génération de rapports, une configuration allégée pour les projets multi-modules, et une compatibilité native avec SonarQube.

Kover est-il compatible avec les projets Kotlin Multiplatform Mobile (KMM) ?

Oui, Kover est compatible avec les projets KMM, ce qui en fait un outil polyvalent pour mesurer la couverture de code dans les projets multiplateformes utilisant Kotlin.

Quelles sont les limitations actuelles de Kover ?

La principale limitation de Kover concerne la génération de rapports unifiés pour les projets multi-modules, qui nécessite encore des manipulations complexes. C'est un aspect qui pourrait être amélioré dans les futures versions.

Comment Kover s'intègre-t-il avec les outils d'analyse de code ?

Kover s'intègre particulièrement bien avec SonarQube, générant des rapports dans un format compatible qui permet une analyse approfondie de la qualité du code et une inspection automatisée.

Publié par Gilles Grousset