Eu tenho um projeto com vários módulos. Quando todos os testes passam, o teste Maven executa todos eles.
Quando os testes falham no primeiro módulo, o maven não continuará no próximo projeto. Eu tenho testFailureIgnore definido como true nas configurações do Surefire, mas isso não ajuda.
Como faço para o maven executar todos os testes?
Respostas:
Na documentação do Maven Embedder :
Portanto, se você estiver testando um módulo, poderá usá-lo com segurança
-fae
.Caso contrário, se você possui vários módulos e deseja que todos sejam testados (mesmo aqueles que dependem do módulo de testes com falha), você deve executar
mvn clean install -fn
.-fae
continuará com o módulo que possui um teste com falha (executará todos os outros testes), mas todos os módulos que dependem dele serão ignorados.fonte
--fail-never
. O Maven não falhará na compilação, mesmo que haja erros de compilação. Se eu usar essa opção no Jenkins, a compilação parecerá bem-sucedida, mesmo se houver muitos erros de compilação. Prefiro-Dmaven.test.failure.ignore=true
neste caso e deixe Jenkins analisar os relatórios infalíveis.Acabei de encontrar o parâmetro "-fae", que faz com que o Maven execute todos os testes e não pare em caso de falha.
fonte
Você pode testar com o surefire 2.6 e configurar o surefire com
testFailureIgnore=true
. Ou na linha de comando:fonte
Tente adicionar a seguinte configuração para o plugin surefire no seu pom.xml do projeto raiz :
fonte
Uma resposta rápida:
Funciona com compilações de projetos aninhados.
fonte