Encontré que la forma más sencilla de omitir solo las pruebas de seguro seguro es configurar el seguro seguro ( pero no a prueba de fallas ) de la siguiente manera:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.14</version>
<configuration>
<!-- skips surefire tests without skipping failsafe tests.
Property value seems to magically default to false -->
<skipTests>${skip.surefire.tests}</skipTests>
</configuration>
</plugin>
Esto le permite ejecutar mvn verify -Dskip.surefire.testsy solo seguro, no a prueba de fallas, se omitirán las pruebas; también ejecutará todas las demás fases necesarias, incluidas la preintegración y la posintegración, y también ejecutará el verifyobjetivo que se requiere para fallar realmente su compilación de Maven si sus pruebas de integración fallan.
Tenga en cuenta que esto redefine la propiedad utilizada para especificar que las pruebas se deben omitir, por lo que si proporciona el canónico -DskipTests=true, surefire lo ignorará pero a prueba de fallas lo respetará, lo que puede ser inesperado, especialmente si tiene compilaciones / usuarios existentes que ya especifican ese indicador. Una solución alternativa simple parece ser skip.surefire.testsel valor predeterminado skipTestsen su <properties>sección del pom:
<properties>
<skip.surefire.tests>${skipTests}</skip.surefire.tests>
</properties>
Si lo necesita, podría proporcionar un parámetro análogo llamado skip.failsafe.testsa prueba de fallas, sin embargo, no lo he encontrado necesario, porque las pruebas unitarias generalmente se ejecutan en una fase anterior, y si quiero ejecutar pruebas unitarias pero no pruebas de integración, ejecutaría la testfase en lugar de la verifyfase. ¡Tus experiencias pueden variar!
Estas skip.(surefire|failsafe).testspropiedades probablemente deberían integrarse en el propio código seguro / a prueba de fallas, pero no estoy seguro de cuánto violaría el ethos "son exactamente el mismo complemento, excepto por 1 pequeña diferencia".
maven.test.skiposkipTests?