Améliorez la productivité de vos équipes en générant des rapports. Analysez statiquement votre code source. Découvrez dans l’ordre les plugins maven les plus utilisés pour les rapports. Enfin, intégrez maven et Sonar.
Objectif
Comprendre la généreration de rapports avec maven
identifier quelques rapports standards
Prérequis
Tutoriel Maven N°1 : Installation Maven
Liens utiles
Site de Maven : http://maven.apache.org/
Plugin Checkstyle : http://maven.apache.org/plugins/maven-checkstyle-plugin/
Sonar et tests integration avec JaCoCo
Plugin Jacoco (exemple parametrage pom.xml)
Rapports Tests unitaires Surefire (mvn surefire-report:report)
Séparer tests unitaires & tests integration avec Profils Maven
Programme
Rapport N°1 : documentation source (javadoc)
Rapport N°2 : qualité code (checkstyle)
Rapport N°3 : source croisé (jxr)
Rapport N°4 : Identifier patterns d’erreur avec PMD / CPD
Rapport N°5 : tests unitaites (surefire)
Rapport N°6 : couverture de test (cobertura)
Durée
45 min
PUBLICITE : votre formation ‘Intégration continue’ avec Objis
Partie 1 : générer la javadoc
Ajoutez des commentaires au code (servlet) de votre projet Web mon appli-web
Ajouter le code suivant dans le pom.xml monappli-web :
Puis lancez : mvn site
Ouvrez ensuite avec un navigateur targetsiteindex.html
Cliquez sur le lien Project Reports puis sur le lien JavaDocs
Partie 2 : Valider la qualité du code avec le plugin checkstyle
Démo Checkstyle ‘seul’
A partir du projet ANT suivant, découvrez la valeur ajoutée de l’outil Chekstyle :
Intégration Checkstyle / Maven
Ajoutez à la section reportPlugins du pom de monappli-web le plugin checkstyle:
...
Lancez : mvn site
Observez la section ‘Checkstyle’ ajoutée dans le rapport récupéré dans targetsiteindex.html
Modifiez la couche web de façon à diminuer le nb d’erreur ?
lien utile: Site de de l’outil CheckStyle : http://checkstyle.sourceforge.net/
lien utile: Site du plugin Maven : http://maven.apache.org/plugins/maven-checkstyle-plugin/
Lien utile : Tutoriel Intégration de CheckStyle dans Eclipse
INFO : voici les mêmes erreurs vues par le développeur via plugin Checkstyle eclipse
Partie 3 : Rapport croisé de source
Ajoutez à la section reportPlugins du pom de monappli-web le plugin jxr (avant celui de checkstyle, au dessus):
...
Lien utile : http://maven.apache.org/plugins/maven-jxr-plugin
Quelle est la valeur ajoutée de ce plugin ? En particulier, montrez sa complémentarité avec CheckStyle.
Désormais vous pouvez passer du rapport CheckStyle au code source en cliquant sur le numéro de ligne associé au commentaire CheckStyle.
Partie 4 : Identifier patterns d’erreur avec PMD
Identifiez :
Code mort (Ex : variables ou paramètres non utilisés)
Duplication de code (Code copié/collé = possible bug copié/collé
Code ‘compliqué’ (Ex : trop de if…else)
Ajoutez à la section reportPlugins du pom de monappli-web le plugin PMD:
...
Quels sont les deux nouveaux rapports générés ?
Qu’est ce que le rapport ‘CPD Report’ ?
Qu’est ce que le rapport ‘PMD Report’ ?
Tests unitaire
Analysez le projet suivant Calculateur de taxes :
lancez : mvn surefire-report:report
lancez mvn site
Partie 4 : couverture de test
A quel point les développeurs ont réalisé des tests unitaires ? Quels parties de l’application n’a pas été testée:
...
Lien utile : http://mojo.codehaus.org/cobertura-maven-plugin/usage.html