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
-
Facilité d'installation : Avec Kover, vous n'avez pas à définir de chemins manuellement. Quelques lignes de configuration suffisent pour l'intégrer à votre projet.
-
Automatisation des tâches : Le plugin crée automatiquement les tâches gradle nécessaires pour générer les rapports de couverture dans les formats XML et HTML pour chaque variante de build.
En plus, il déclenche automatiquement les tests unitaires associés à chacun de vos builds. -
Configuration allégée pour les multi-modules : Si votre projet est divisé en plusieurs modules, vous apprécierez la configuration multi-module de Kover.
Les paramètres sont hérités du nœud koverReport, rendant la gestion des multiples éléments un véritable jeu d'enfant. -
Compatibilité avec SonarQube : Le format de rapport généré par Kover est compatible avec SonarQube, l'une des plateformes les plus populaires pour la qualité de code et l'inspection de code automatisée.
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 :
-
Ajoutez le plugin à votre fichier
build.gradle
de niveau projet :plugins { id 'org.jetbrains.kotlinx.kover' version '0.4.2' }
-
Appliquez le plugin dans le
build.gradle
de votre module :apply plugin: 'org.jetbrains.kotlinx.kover'
-
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.