Ce site met a disposition le build journalier de la traduction francaise du Maven: The Definitive Guide
Consultez :
  • Les documents de reference sur le projet original
  • Les sources de la traduction fr sur GitHub
  • maven


    10.3.5. Tester

    La plupart des cycles de vie rattachent le goal test du plugin Surefire à leur phase test. Le plugin Surefire est un plugin Maven permettant d'exécuter des tests unitaires. Le comportement par défaut du plugin Surefire est de rechercher toutes les class se terminant par '*Test' dans le répertoire source des tests, puis de les exécuter comme des tests JUnit. Le plugin Surefire peut également être configuré pour exécuter des tests unitaires TestNG.

    Après avoir exécuté la commande mvn test, vous aurez probablement noté que le plugin Surefire a produit des rapports d'exécution dans le répertoire target/surefire-reports. Ce répertoire de rapports contient deux fichiers pour chaque test exécuté par le plugin : un fichier XML qui contient les informations d'exécution du test, un fichier texte qui contient la sortie des tests unitaires. Si un problème est survenu durant la phase de test et qu'un test unitaire a échoué, vous pouvez utiliser la sortie standard de Maven et ce répertoire pour trouver la cause du problème. Ce répertoire surefire-reports/ est également utilisé durant la génération du site pour créer un résumé 'facile à lire' du résultat des tests unitaires.

    Si vous travaillez sur un projet qui contient des tests unitaires qui échouent, mmais que vous voulez tout de même générer votre artefact, vous devez configurer le plugin Surefire pour qu'il poursuive le build même en cas d'échec. Le comportement par défaut est d'arrêter le build lorsqu'un test unitaire échoue. Pour modifier ce comportement, vous devez affecter la propriété testFailureIgnore du plugin Surefire à 'true'.

    Exemple 10.12. Configurez le plugin Surefire pour ignorer les tests en échec

    <build>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
         <configuration>
           <testFailureIgnore>true</testFailureIgnore>
         </configuration>
        </plugin>
        ...
      </plugins>
    </build>

    Si vous souhaitez ne pas exécuter l'ensemble des tests, vous pouvez exécuter la commande suivante :

    $ mvn install -Dmaven.test.skip=true

    La variable maven.test.skip agit sur les plugins Compiler et Surefire. En précisant cette variable, vous demandez à Maven d'ignorer les tests.