Qual è la differenza tra i plugin Maven Surefire e Maven Failsafe?
Ho cercato in tutto il web, ma non ho ottenuto la risposta.
Qual è la differenza tra i plugin Maven Surefire e Maven Failsafe?
Ho cercato in tutto il web, ma non ho ottenuto la risposta.
Risposte:
In parole semplici, il plug-in Failsafe è progettato per eseguire test di integrazione mentre Surefire per eseguire test unitari .
Questo è ulteriormente spiegato nelle FAQ di Maven :
maven-surefire-plugin
è progettato per l'esecuzione di unit test e se uno qualsiasi dei test fallisce, fallirà immediatamente la compilazione.
maven-failsafe-plugin
è progettato per eseguire test di integrazione e disaccoppia la compilazione non riuscita se si verificano errori di test dall'esecuzione effettiva dei test.Il nome " failsafe " è stato scelto sia perché è sinonimo di infallibile, sia perché implica che quando fallisce, lo fa in modo sicuro.
Il plugin Failsafe ha due obiettivi:
failsafe:integration-test
esegue i test di integrazione di un'applicazione,failsafe:verify
verifica che i test di integrazione di un'applicazione siano stati superati.
Guarda anche:
Da https://maven.apache.org/surefire/maven-failsafe-plugin/ , direi che la differenza tra Surefire e Failsafe è il modo in cui falliscono:
Se utilizzi il plug-in Surefire per eseguire i test, quando si verifica un errore del test, la compilazione si interromperà nella fase di test di integrazione e l'ambiente di test di integrazione non sarà stato abbattuto correttamente.
Il plug-in Failsafe viene utilizzato durante le fasi di test di integrazione e verifica del ciclo di vita della build per eseguire i test di integrazione di un'applicazione. Il plug-in Failsafe non fallirà la compilazione durante la fase di test di integrazione, consentendo così l'esecuzione della fase di test di post-integrazione.
Nel mio paese è il secondo risultato di Google durante la ricerca di "maven failsafe maven surefire" per arrivare a questa FAQ: Differenza tra maven-failafe-plugin e maven-safe-plugin che afferma:
maven-surefire-plugin è progettato per l'esecuzione di unit test e se uno qualsiasi dei test fallisce, fallirà immediatamente la compilazione.
maven-failsafe-plugin è progettato per eseguire test di integrazione e disaccoppia la compilazione non riuscita se ci sono errori di test dall'effettiva esecuzione dei test. "