es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Escribiendo casos de prueba Junit para la sentencia de registro en una clase de servicio/controlador

    Para escribir un caso de prueba Junit para una sentencia de registro escrita dentro de un método en una clase de servicio o controlador, puedes seguir los siguientes pasos:

    1. Agrega una biblioteca de pruebas a tu proyecto, como “junit-jupiter-engine” o “spring-boot-starter-test”.
    2. Crea una clase de prueba y anótala con @ExtendWith(SpringExtension.class) si estás utilizando Spring.
    3. Importa los paquetes necesarios como import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; si estás utilizando MockMvc.
    4. Simula los objetos necesarios como Mockito.when(service.method(any())).thenReturn(response); si estás utilizando Mockito.
    5. Invoca el método bajo prueba.
    6. Utiliza aserciones para verificar la sentencia de registro.
    7. Verifica que la sentencia de registro haya sido llamada con los parámetros esperados.

    Ejemplo:

    import org.junit.jupiter.api.Test;
    import org.junit.jupiter.api.extension.ExtendWith;
    import org.mockito.InjectMocks;
    import org.mockito.Mock;
    import org.mockito.junit.jupiter.MockitoExtension;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import static org.mockito.ArgumentMatchers.any;
    import static org.mockito.Mockito.verify;
    import static org.mockito.Mockito.when;
    
    @ExtendWith(MockitoExtension.class)
    public class MyServiceTest {
    
      private final Logger logger = LoggerFactory.getLogger(MyService.class);
    
      @Mock
      private MyRepository myRepository;
    
      @InjectMocks
      private MyService myService;
    
      @Test
      public void testMyServiceMethod() {
        // Simula el método del repositorio
        when(myRepository.doSomething(any())).thenReturn("some response");
    
        // Llama al método del servicio
        myService.myServiceMethod();
    
        // Verifica la sentencia de registro
        verify(logger).info("MyService method executed successfully");
      }
    }
    

    En el ejemplo anterior, estamos probando una sentencia de registro dentro del método myServiceMethod() de la clase MyService. Hemos simulado el objeto myRepository usando Mockito y llamado al método del servicio. Finalmente, estamos verificando que la sentencia de registro haya sido llamada con los parámetros esperados.

Comments are closed.