<aside>

Contenido

  1. Introducción
  2. Stack tecnológico
  3. Arquitectura de Software
  4. Esquema / Diseño de Base de Datos
  5. Integración RabbitMQ
  6. ms-clientes → Microservicio (Cliente, Persona)
  7. ms-cuentas → Microservicio (Cuenta, Movimientos)
  8. Comunicación entre microservicios
  9. Seguridad
  10. Pruebas unitarias
  11. Pruebas de integración
  12. Buenas prácticas de desarrollo
  13. Documentación API
  14. Despliegue en Docker
  15. CI/CD → AWS EC2
  16. Probar solución

</aside>

<aside>

Pruebas Unitarias (F5)

Las pruebas unitarias validan la lógica de negocio del Service de forma aislada, sin levantar Spring ni conectarse a base de datos. Se utiliza Mockito para simular (mockear) las dependencias: ClienteRepository, ClienteMapper, ClienteEventPublisher y PasswordEncoder.

Patrón utilizado: AAA (Arrange, Act, Assert) Cada test sigue esta estructura:

Tests implementados:

Crear cliente:

Obtener cliente:

Actualizar cliente:

Eliminar cliente (Soft Delete):

¿Por qué Mockito y no base de datos real?

Las pruebas unitarias deben ser rápidas (~1 segundo) y no depender de infraestructura externa. Mockito simula las dependencias para que solo se pruebe la lógica del Service. Las pruebas que necesitan infraestructura real son las de integración.

</aside>