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 obtenu de réponse.
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 obtenu de réponse.
Réponses:
En termes simples, le plugin Failsafe est conçu pour exécuter des tests d'intégration tandis que Surefire pour exécuter des tests unitaires .
Ceci est expliqué plus en détail dans la FAQ Maven :
maven-surefire-plugin
est conçu pour exécuter des tests unitaires et si l'un des tests échoue, la génération échouera immédiatement.
maven-failsafe-plugin
est conçu pour exécuter des tests d'intégration et dissocie l'échec de la construction en cas d'échec de test de l'exécution réelle des tests.Le nom de « sécurité intégrée » a été choisi à la fois parce qu'il est synonyme de sécurité 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 exécuter des tests, lorsque vous rencontrez un échec de test, la compilation s'arrêtera à la phase de test d'intégration et votre environnement de test d'intégration n'aura pas été détruit correctement.
Le plug-in Failsafe est utilisé pendant les phases de test d'intégration et de vérification du cycle de vie de construction 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 Google lors de la recherche de "maven failafe maven surefire" pour accéder à cette FAQ: Différence entre maven-failafe-plugin et maven-surefire-plugin qui stipule:
maven-surefire-plugin est conçu pour exécuter des tests unitaires et si l'un des tests échoue, la compilation échouera immédiatement.
maven-failafe-plugin est conçu pour exécuter des tests d'intégration, et dissocie l'échec de la construction en cas d'échec des tests de l'exécution réelle des tests. "