Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Proyecto] Haga lo que hicimos: pruebas con bases de datos

✅ Pasos para realizar las pruebas unitarias de PacienteSinConsulta

1.- Preparar el entorno de pruebas:
Asegúrate de tener configurado JUnit (por ejemplo, JUnit 5) y un framework de mocking como Mockito.

2.- Crear la clase de prueba:
Crea una clase de prueba para PacienteSinConsulta, normalmente en el directorio src/test/java.

3.- Simular (mockear) el ConsultaRepository:
Simula el comportamiento del repositorio para controlar el resultado del método existsByPacienteIdAndFechaBetween.

4.- Inyectar el mock en la clase a probar:
Crea una instancia de PacienteSinConsulta y reemplaza el repository con el mock creado.

5.- Definir los escenarios de prueba:
Escenario 1: El paciente ya tiene una consulta ese día → se espera que se lance ValidationException.
Escenario 2: El paciente no tiene consulta ese día → se espera que no se lance ninguna excepción.

6.- Preparar los datos de entrada (DatosAgendarConsulta):
Crea objetos de prueba con valores válidos para el idPaciente y fecha.

7.- Ejecutar el método validar(...) con los datos simulados.

8.- Verificar los resultados esperados:
Usa aserciones para comprobar si se lanza (o no) la excepción según el escenario.

9.- Asegurar cobertura completa:
Revisa que las dos ramas (if y else) del método validar(...) estén cubiertas por tus pruebas.

10.- Ejecutar y validar:
Corre las pruebas y asegúrate de que pasan correctamente.

1 respuesta

Hola Wilder, espero que estés bien

¡Qué bueno que estás interesado en aprender a realizar pruebas unitarias! A continuación, te doy una orientación sobre cómo podrías estructurar tus pruebas para la clase PacienteSinConsulta sin que te proporcione el código final, pero sí una guía clara de los pasos a seguir:

  1. Configurar el entorno de pruebas: Asegúrate de tener JUnit y Mockito configurados en tu proyecto. Estos son esenciales para realizar pruebas unitarias y simular comportamientos.

  2. Crear la clase de prueba: Ubica tu clase de prueba en el directorio adecuado, generalmente src/test/java. Dale un nombre descriptivo, como PacienteSinConsultaTest.

  3. Simular el repositorio: Usa Mockito para crear un mock del ConsultaRepository. Esto te permitirá definir el comportamiento esperado del método existsByPacienteIdAndFechaBetween, simulando diferentes escenarios.

  4. Inyectar el mock: En la instancia de PacienteSinConsulta que vas a probar, reemplaza el repositorio real por el mock que creaste. Esto te permitirá controlar el comportamiento durante las pruebas.

  5. Definir escenarios de prueba:

    • Escenario 1: Configura el mock para que devuelva true cuando el paciente ya tiene una consulta ese día. Espera que se lance una ValidationException.
    • Escenario 2: Configura el mock para que devuelva false cuando el paciente no tiene consulta ese día. Espera que no se lance ninguna excepción.
  6. Preparar datos de entrada: Crea instancias de DatosAgendarConsulta con valores válidos para idPaciente y fecha que usarás en tus pruebas.

  7. Ejecutar el método validar(...): Usa los datos simulados para llamar al método y observar el comportamiento.

  8. Verificar resultados esperados: Utiliza aserciones para comprobar si se lanza o no la excepción de acuerdo al escenario que estás probando.

  9. Cobertura completa: Asegúrate de que tanto el bloque if como el else del método validar(...) estén cubiertos por tus pruebas. Esto te dará confianza en que tu lógica está bien probada.

  10. Ejecutar y validar: Corre tus pruebas y verifica que todas pasen. Si alguna falla, revisa el escenario y ajusta según sea necesario.

Espero que estos pasos te sean de ayuda para estructurar tus pruebas unitarias. ¡Bons estudos!