l'exécution des tests d'intégration de tous les modules après tous les modules ont été construits et l'unité testée
Pour répondre à cette exigence une solution possible est de avoir un module supplémentaire (facultatif) fournissant des tests d'intégration, c'est-à-dire que tous les tests d'intégration doivent être déplacés vers ce module, ce qui pourrait être ajouté à la construction par défaut via un profil.
<profiles>
<profile>
<id>it</id>
<modules>
...
<module>it-module</module>
</modules>
</profile>
</profiles>
Afin d'avoir comme dernière étape de la construction du Maven Reactor, ce module devrait aussi dépendre de tous les autres modules (probablement il serait déjà implicitement le cas).
Ce module serait en fait le seul à fournir la configuration et les paramètres maven-failsafe-plugin
. De plus, il pourrait devenir plus significatif en cas d'utilisation d'un serveur embarqué à tester (ie Jetty): le serveur sera créé et éteint seulement pendant la construction de ce module et non dans chaque module le nécessitant, accélérant cette phase d'intégration. En tant que dernier module de la compilation, vous vous assurez qu'il ne sera atteint qu'en cas d'échec des tests unitaires sur les modules précédents et uniquement lorsque le profil it
sera actif (par exemple pendant les générations CI).
Cela n'exécute pas non plus de tests unitaires, n'est-ce pas? Si vous le faites de cette façon, il peut être préférable d'ignorer les tests d'intégration par défaut (configurez la configuration du plugin dans le POM parent) et de les exécuter manuellement à tout moment. –
@VivekChavda Merci. J'ai corrigé les instructions pour utiliser '-DskipITs' à la place. –