¿Unit test frente a test de integración?
Opciones
- Son lo mismo con dos nombres distintos
- Unit: una pieza sola. Integración: partes juntas (Opción correcta)
- Los tests de integración siempre se hacen a mano
- Los unit tests siempre necesitan un servidor en marcha
Respuesta
Un unit test comprueba una pieza pequeña (una función o clase) de forma aislada; un test de integración comprueba varias partes juntas, por ejemplo código + base de datos real
Por qué
Unit test: diminuto y rápido (milisegundos). Prueba una función con sus dependencias reemplazadas por falsos. Cuando falla, sabes exactamente dónde.
Test de integración: comprueba que las partes reales encajan: tu repository con un PostgreSQL real, o tu API con su middleware. Más lento, pero detecta problemas que los unit tests no ven.
Los tests end-to-end van más allá y prueban todo el sistema como un usuario.
Recuerda
Unit = una pieza sola. Integración = piezas juntas.