22

Ho letto che il plug-in Maven Failsafe è progettato specificamente per eseguire test di integrazione. Attualmente sto lavorando a un progetto multi-modulo e i test di integrazione sono nel suo modulo separato, scritto in TestNg ed eseguito usando il plugin surefire. Non abbiamo conflitti con i test unitari poiché solo i test di integrazione vengono eseguiti nella fase di test in quel modulo. E per configurare l'ambiente prima dei test e pulirlo dopo l'esecuzione dei test, vengono utilizzate le @BeforeSuite @AfterSuite TestNg Annotations. Quindi non c'è bisogno di fare uso di fase di pre-integrazione-test, fase di test di integrazione, fase di post-integrazione utilizzata dal plugin FailSafe.Vantaggi del plug-in Maven FailSafe

  • Ci sono altri vantaggi che mi mancano, non utilizzando il plug-in Failsafe?
  • Esistono modi migliori per eseguire il mio requisito corrente utilizzando il plug-in Failsafe?
  • Posso eseguire l'avvio, l'arresto, la decompressione del file ecc. Del server nelle fasi di pre-integrazione, test post-integrazione senza scrivere un plug-in maven?

risposta

15

Se si dispone già del proprio setup di test/smontaggio nelle suite, dal punto di vista estetico, non è possibile ottenere molto dal plug-in FailSafe.

Il plug-in FailSafe è utile in situazioni in cui l'installazione del sistema in prova è costosa o richiede molto tempo, ad esempio l'avvio di un servlet o di un sistema distribuito. Il modo in cui il plug-in FailSafe è utile in queste situazioni è che è possibile configurare questo ambiente nella fase pre-integration-test. Questo plug-in non interrompe l'esecuzione del build Maven quando un test fallisce, il che consente di ripulire tutti gli artefatti durante la fase post-integration-test, dopo di che controlla lo stato dei test e passa o fallisce la compilazione di conseguenza durante la fase verify.

19

Failsafe ha una grande funzionalità rispetto a Surefire: quando un test fallisce, non si interrompe immediatamente. Invece lascia funzionare il codice di pulizia (che in genere elimina il server Jetty).

Problemi correlati