Bibliothèque de mesures de couverture Java
J'ai étudié l'état actuel des bibliothèques open source capables de mesurer la couverture des tests Java.
emballer
Cobertura a arrêté le développement, donc désormais, JaCoCo ou Clover est susceptible de devenir le courant dominant. Cependant, comme Clover a récemment été rendu open source, le futur développement continu (= activité de la communauté) n'est pas très visible.
Vue d'ensemble des trois principales bibliothèques
JaCoCo
- La dernière version est la version 0.8.0 publiée en janvier 2018 (à partir de mars 2018).
--Pour les classes qui ne peuvent pas être mesurées (instrumentation à la volée) au moment de l'exécution, le traitement des mesures peut être ajouté à l'avance (instrumentation hors ligne) au fichier de classe.
Cobertura
- Le développement s'est arrêté en février 2015.
--Si Java 8 n'est pas pris en charge et qu'il existe une notation telle que l'expression Lambda, cette partie ne peut pas être mesurée.
- Prend en charge l'agrégation des rapports de mesure pour les projets composés de plusieurs modules qui ne sont pas pris en charge par d'autres bibliothèques.
Clover
- À l'origine, c'était un logiciel commercial, mais il a été rendu open source en avril 2017.
- Contrairement aux autres bibliothèques, la couverture est mesurée en ajoutant un code de mesure au code source au lieu du fichier de classe.
- Prend en charge plus de 20 métriques ainsi que la complexité cyclomatique.
Autres bibliothèques etc.
EclEmma
- Plug-in Eclipse pour mesurer la couverture avec JaCoCo sur Eclipse.
- Dans le passé, EMMA était utilisé pour la bibliothèque de mesures de couverture, mais depuis que le développement d'EMMA s'est arrêté en 2005, nous avons développé notre propre bibliothèque de mesures de couverture JaCoCo. Démenagé ici.
JMockit
référence
- https://confluence.atlassian.com/clover/comparison-of-code-coverage-tools-681706101.html
- https://tesshu.com/java/comparison-between-jacoco-and-cobertura