Quelle est la différence entre les plugins Maven Surefire et Maven Failsafe?
J'ai cherché partout sur le Web, mais je n'ai pas eu la réponse.
S'il vous plaît quelqu'un aide avec l'exemple.
En termes simples, le plug-in Failsafe est conçu pour exécuter des tests d'intégration alors que Surefire pour exécuter des tests unitaires .
Ceci est expliqué plus en détail dans FAQ Maven :
maven-surefire-plugin
est conçu pour exécuter des tests unitaires et si l'un des tests échoue, la construction échouera immédiatement.
maven-failsafe-plugin
est conçu pour exécuter des tests d'intégration , et découpler l'échec de la construction s'il y a des échecs lors de l'exécution des tests.Le nom " failafe" a été choisi à la fois parce que c'est un synonyme de surefire et parce qu'il implique que lorsqu'il échoue, il le fait de manière sûre.
Le plugin Failsafe a deux objectifs:
failsafe:integration-test
exécute les tests d'intégration d'une application,failsafe:verify
vérifie que les tests d'intégration d'une application ont réussi.
Voir également:
De https://maven.Apache.org/surefire/maven-failsafe-plugin/ , je dirais que la différence entre Surefire et Failsafe est la façon dont ils échouent:
Si vous utilisez le plug-in Surefire pour l'exécution de tests, en cas d'échec d'un test, la construction s'arrête à la phase de test d'intégration et votre environnement de test d'intégration n'a pas été détruit correctement.
Le plug-in Failsafe est utilisé lors des tests d'intégration et de vérification des phases du cycle de vie de la génération pour exécuter les tests d'intégration d'une application. Le plug-in Failsafe n'échouera pas la construction pendant la phase de test d'intégration, permettant ainsi à la phase de test post-intégration de s'exécuter.
Dans mon pays, c’est le deuxième résultat de Google lorsqu’on cherche "maven Failafe Maven Surefire" pour accéder à cette FAQ: https://maven.Apache.org/surefire/maven-failsafe-plugin/ qui indique :
"Le plug-in Failsafe est conçu pour exécuter des tests d'intégration, tandis que le plug-in Surefire est conçu pour exécuter des tests unitaires."