¿Qué aprendimos en esta aula? Escribir tests automatizados con Spring Boot: Se abordaron las bases de la escritura de tests en una aplicación Spring Boot, implementando pruebas para asegurar que el código funcione como se espera.
Pruebas de interfaces Repository:
Se escribieron pruebas para las interfaces Repository, validando las interacciones con la base de datos. Se utilizó la misma base de datos que la aplicación, garantizando que las pruebas reflejen el comportamiento real del entorno de producción. Uso de application-test.properties:
Se creó un archivo application-test.properties para sobrescribir propiedades específicas durante la ejecución de los tests. La anotación @ActiveProfiles("test") asegura que estas propiedades sean aplicadas solo en el contexto de pruebas. Pruebas automatizadas de Controllers con MockMvc:
Se utilizó la clase MockMvc para simular peticiones HTTP hacia la API sin necesidad de un servidor real. Esto permitió probar los endpoints de los Controllers de manera eficiente. Escenarios de prueba para diferentes códigos HTTP:
Se implementaron pruebas para escenarios exitosos (código 200 OK). También se probaron escenarios donde la API devuelve errores de validación (código 400 Bad Request), asegurando un manejo adecuado de excepciones.
Reflexión Con esta lección, aprendimos a automatizar pruebas esenciales en una aplicación Spring Boot, lo que contribuye a una mayor confiabilidad y facilidad de mantenimiento del código. Las pruebas ayudan a identificar errores temprano y aseguran que las nuevas funcionalidades no introduzcan problemas en el sistema.
Claves aprendidas: Tests de Repository: Validar interacciones con la base de datos. Profiles para pruebas: Separar configuraciones entre entornos de desarrollo y testing. MockMvc: Simulación eficiente de requests HTTP para Controllers. Escenarios de prueba: Evaluar respuestas tanto en casos exitosos como en casos de error.
#SpringBoot #Testing #MockMvc #RepositoryTesting #ControllerTests