Was ist der Unterschied zwischen Maven Surefire und Maven Failsafe Plugins?
Ich habe im gesamten Web gesucht, aber keine Antwort erhalten.
Was ist der Unterschied zwischen Maven Surefire und Maven Failsafe Plugins?
Ich habe im gesamten Web gesucht, aber keine Antwort erhalten.
Antworten:
Mit einfachen Worten, das Failsafe-Plugin wurde entwickelt, um Integrationstests auszuführen , während Surefire Unit-Tests ausführt .
Dies wird in den Maven-FAQ näher erläutert :
maven-surefire-plugin
wurde für die Ausführung von Komponententests entwickelt. Wenn einer der Tests fehlschlägt, schlägt der Build sofort fehl.
maven-failsafe-plugin
wurde für die Ausführung von Integrationstests entwickelt und entkoppelt fehlgeschlagene Builds, wenn Testfehler bei der tatsächlichen Ausführung der Tests auftreten.Der Name " fehlersicher " wurde sowohl gewählt, weil er ein Synonym für todsicher ist, als auch weil er impliziert, dass er auf sichere Weise versagt, wenn er fehlschlägt.
Das Failsafe Plugin hat zwei Ziele:
failsafe:integration-test
führt die Integrationstests einer Anwendung aus,failsafe:verify
überprüft, ob die Integrationstests einer Anwendung bestanden wurden.
Siehe auch:
Unter https://maven.apache.org/surefire/maven-failsafe-plugin/ würde ich sagen, dass der Unterschied zwischen Surefire und Failsafe darin besteht, wie sie versagen:
Wenn Sie das Surefire-Plugin zum Ausführen von Tests verwenden, wird der Build bei einem Testfehler in der Phase des Integrationstests gestoppt und Ihre Integrationstestumgebung wurde nicht ordnungsgemäß heruntergefahren.
Das Failsafe-Plugin wird während des Integrationstests verwendet und überprüft die Phasen des Build-Lebenszyklus, um die Integrationstests einer Anwendung auszuführen. Das Failsafe-Plugin schlägt den Build während der Integrationstestphase nicht fehl, sodass die Phase nach dem Integrationstest ausgeführt werden kann.
In meinem Land ist es das zweite Google-Ergebnis bei der Suche nach "Maven Failsafe Maven Surefire", um zu dieser FAQ zu gelangen: Unterschied zwischen Maven-Failsafe-Plugin und Maven-Surefire-Plugin mit folgenden Angaben :
Das Maven-Surefire-Plugin wurde für die Ausführung von Komponententests entwickelt. Wenn einer der Tests fehlschlägt, schlägt der Build sofort fehl.
Das Maven-Failsafe-Plugin wurde für die Ausführung von Integrationstests entwickelt und entkoppelt fehlgeschlagene Builds, wenn bei der tatsächlichen Ausführung der Tests Testfehler auftreten. "