Qual é a diferença entre os plug-ins Maven Surefire e Maven Failsafe?
Pesquisei em toda a web, mas não obtive a resposta.
Qual é a diferença entre os plug-ins Maven Surefire e Maven Failsafe?
Pesquisei em toda a web, mas não obtive a resposta.
Respostas:
Em palavras simples, o plugin Failsafe é projetado para executar testes de integração enquanto o Surefire para executar testes de unidade .
Isso é explicado com mais detalhes nas Perguntas frequentes do Maven :
maven-surefire-plugin
foi projetado para executar testes de unidade e, se qualquer um dos testes falhar, o build falhará imediatamente.
maven-failsafe-plugin
foi projetado para executar testes de integração e dissocia a falha de construção se houver falhas de teste da execução real dos testes.O nome "à prova de falhas " foi escolhido porque é sinônimo de infalível e porque implica que, quando falha, o faz de maneira segura.
O plug - in Failsafe tem dois objetivos:
failsafe:integration-test
executa os testes de integração de um aplicativo,failsafe:verify
verifica se os testes de integração de um aplicativo foram aprovados.
Veja também:
De https://maven.apache.org/surefire/maven-failsafe-plugin/ , eu diria que a diferença entre Surefire e Failsafe é a maneira como eles falham:
Se você usar o plug-in Surefire para a execução de testes, quando ocorrer uma falha no teste, a construção irá parar na fase de teste de integração e seu ambiente de teste de integração não terá sido destruído corretamente.
O plug-in Failsafe é usado durante as fases de teste de integração e verificação do ciclo de vida de construção para executar os testes de integração de um aplicativo. O plug-in Failsafe não falhará na construção durante a fase de teste de integração, permitindo assim que a fase de teste de pós-integração seja executada.
No meu país, é o segundo resultado do Google ao pesquisar por "maven failafe maven surefire" para chegar a esta FAQ: Diferença entre maven-failafe-plugin e maven-surefire-plugin que afirma:
O plugin maven-surefire foi projetado para executar testes de unidade e se algum dos testes falhar, ele falhará na compilação imediatamente.
O plugin maven-failafe foi projetado para executar testes de integração e dissocia a falha de construção se houver falhas de teste da execução real dos testes. "