test plugin failsafe example maven integration-testing testng maven-surefire-plugin maven-failsafe-plugin

plugin - maven test integration



Beneficios de Maven FailSafe Plugin (2)

Failsafe tiene una gran característica frente a Surefire: cuando falla una prueba, no se cancela de inmediato. En su lugar, permite que se ejecute el código de limpieza (que por lo general elimina el servidor Jetty).

Leí que el complemento Maven Failsafe está diseñado específicamente para ejecutar pruebas de integración. Actualmente estoy trabajando en un proyecto de múltiples módulos y las pruebas de integración están en su propio módulo separado, escrito en TestNg y ejecutado con el complemento Surefire . No tenemos conflictos con las pruebas unitarias ya que solo las pruebas de integración se ejecutan en la fase de prueba en ese módulo. Y para configurar el entorno antes de las pruebas, y limpiarlo después de ejecutar las pruebas, se utilizan las anotaciones @BeforeSuite @AfterSuite TestNg. Por lo tanto, no es necesario utilizar la fase de pre-integration-test , la fase de pre-integration-test integration-test , la fase integration-test post-integration-test utilizada por el complemento Failsafe.

  • ¿Hay otros beneficios que me estoy perdiendo al no usar el complemento Failsafe?
  • ¿Hay mejores formas de cumplir mi requisito actual utilizando el complemento Failsafe?
  • ¿Puedo hacer que mi servidor se inicie, apague, descomprima archivos, etc. en las fases de post-integration-test pre-integration-test , pre-integration-test post-integration-test sin escribir un complemento de Maven?

Si ya tiene su propia configuración de prueba / desmontaje en sus suites, por lo que parece, no hay mucho que pueda obtener del complemento FailSafe.

El complemento FailSafe es útil en situaciones en las que la configuración de su sistema bajo prueba es costosa o lleva mucho tiempo, como iniciar un Servlet o un sistema distribuido. La forma en que el complemento FailSafe es útil en estas situaciones es que puede configurar este entorno en la fase de pre-integration-test . Este complemento tampoco detiene la ejecución de la compilación Maven cuando falla una prueba, lo que le permite limpiar todos sus artefactos durante la fase de post-integration-test , después de lo cual verifica el estado de sus pruebas y pasa o falla la construcción en consecuencia durante la fase de verify .