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.

El plugin de maven JaCoCo no cubre la prueba de la aplicación de spring boot.

Tengo el siguiente método en mi clase de aplicación springboot, que obtiene datos de la base de datos:

public void load(){ 
  Optional<List<Employee>> employee = employeeRepository.findEmployee();
  // Algo más de código con los datos de los empleados
}

Estoy escribiendo algunos casos de prueba Junit 4 para este método y también contando la cobertura con el complemento Jacoco.

@RunWith(MockitoJUnitRunner.class)
public class EmployeeTest{

  private EmployeeRepository employeeRepository = Mockito.spy(EmployeeRepository.class);

  @Test
  public void shouldLoadDataFromDB(){
    EmployeeService employeeService = new EmployeeService(employeeRepository);
    when(employeeRepository.findEmployee()).thenReturn(buildDataFromDB());
    employeeService.load();
    // Datos de aserción
  }
}

Sin embargo, siempre obtengo una cobertura de código 0, a pesar de haber cubierto las pruebas para el método dado, y también muestra que el método no se cubre en la prueba.

¿Alguien puede darme alguna idea de lo que me estoy perdiendo aquí?

Editar

He verificado en el archivo jacoco-session.html, no veo mis clases allí. ¿Cómo puedo verificar lo que me falta?

La documentación de JaCoCo dice que también causará este problema la falta de coincidencia de identificador de clase, pero no entiendo cómo verificar esto. ¿Puedes ayudarme por favor?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que hay algún problema con la configuración de tu plugin Jacoco. Aquí hay algunos pasos que puedes seguir para solucionar esto:

    1. Verifica si el plugin Jacoco está configurado correctamente en el archivo pom.xml. Asegúrate de haber añadido la configuración correcta para tu proyecto.
    2. Comprueba si el plugin Jacoco se está ejecutando durante tu compilación. Puedes usar el siguiente comando para comprobar si Jacoco se está ejecutando durante la compilación: mvn clean verify

    3. Comprueba si se está generando el informe Jacoco. Puedes encontrar el informe en el archivo target/site/jacoco/index.html.

    4. Comprueba si el informe está mostrando la información de cobertura correcta. Asegúrate de que los nombres de paquete y de clase coincidan con tu código fuente real.

    5. Comprueba si has excluido alguna clase de la cobertura Jacoco. A veces, excluimos algunas clases del informe de cobertura, lo que puede llevar a la falta de información de cobertura.

    Si aún no puedes resolver el problema, por favor proporciona más detalles sobre tu configuración y cualquier registro relevante para obtener una mejor comprensión.

Comments are closed.