Repaso
English
Maven, Git y SDLCIntermedioVCS-09

¿Cuál es la diferencia entre los plugins Surefire y Failsafe de Maven?

Opciones

  1. Son el mismo plugin con dos nombres distintos
  2. Surefire ejecuta unit tests (*Test); Failsafe ejecuta *IT (Opción correcta)
  3. Surefire construye imágenes Docker de la aplicación
  4. Failsafe solo funciona en máquinas y servidores Windows

Respuesta

Surefire ejecuta los unit tests en la fase test (*Test); Failsafe ejecuta los tests de integración en integration-test/verify (*IT), para que un fallo no deje recursos a medio limpiar

Por qué

Los plugins hacen el trabajo real en cada fase de Maven.

  • maven-surefire-plugin: ejecuta los unit tests durante test (clases llamadas *Test).
  • maven-failsafe-plugin: ejecuta los tests de integración (clases llamadas *IT) durante integration-test, y comprueba los resultados en verify. Esta separación permite a Maven apagar lo externo (como un servidor de pruebas) antes de informar del fallo.

Esta división mantiene rápido mvn test.

Recuerda

Surefire = unit tests. Failsafe = tests de integración.

Términos clave

Practica esta pregunta en Repaso