Resolva o problema de que o empacotamento também falha quando mvn clean install encontra testng falha no teste de unidade
Antes de ler isto, por favor, leia este
Jenkins para executar o Testng
Por exemplo, agora tenho um projeto que falha nos testes de unidade.
Ao executar mvn clean install, um erro será relatado.
O seguinte é meu pom.xml atual
Mas não queremos isso, o que fazer
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M4</version>
<configuration>
<!-- 这个testFailureIgnore就是就算执行失败也可以正常打包的关键-->
<testFailureIgnore>true</testFailureIgnore>
</configuration>
</plugin>
Adicione a configuração acima, você pode
executar mvn clean install novamente, mesmo se falhar, não há problema, o pacote ainda é bem-sucedido
Se você deseja integrar jenkins, adicione a configuração de suiteXmlFiles
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M4</version>
<configuration>
<!-- 这个testFailureIgnore就是就算执行失败也可以正常打包的关键-->
<testFailureIgnore>true</testFailureIgnore>
<argLine>-Dfile.encoding=UTF-8</argLine>
<suiteXmlFiles>
<!--suppress UnresolvedMavenProperty -->
<suiteXmlFile>${xmlFileName}</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
Vamos falar sobre o
plug-in surefire maven-surefire-plugin por padrão, que executa automaticamente as classes de teste java que seguem as seguintes regras de nomenclatura no pacote de origem do teste (ou seja, no diretório test).
* /Test.java
**/*Test.java ** /
*TestCase.java
No processo de construção do Maven, o teste faz parte de seu ciclo de vida. Cada processo de construção executará os casos de teste no projeto. Se um teste falhar, a construção atual será interrompida por padrão.
Se você ainda quiser continuar construindo o projeto quando o teste falhar, você precisa definir a propriedade testFailureIgnore do plug-in infalível como true.