0

Tengo el siguiente método que trae informacion de la base a traves de un folio estoy haciendo su test con Junit, pero no se como hacer para que la prueba cubra todas las validaciones

public DatosSalida consultarDatos(DatosaEntrada entrada){
 DatosSalida salida = new DatosSalida();
 
 InformacionAceptada  infAcept = InformacionRepository.buscaFolio(entrada.getFolio());
 
 if(!entrada.getCurpValido.equals(infoAcept.getCurp())){
  salida.serResultado("Rechazo")
  salida.setValidacion("02");
 }else if(entrada.getTipoTrabajador != 1){
  salida.serResultado("Rechazo")
  salida.setValidacion("02");
 }else if(!entrada.getClave.equals(infAcept.getClave)){
  salida.serResultado("Rechazo")
  salida.setValidacion("02");
 }else if(infAcept.getEstatusValido != 1){
  salida.serResultado("Rechazo")
  salida.setValidacion("02");
 
 }else{
  salida.serResultado("Aceptado")
  salida.setValidacion("01");
  salida.setDatoVerificador(1);
 
 }
 

 return salida;
}

Este es la prueba unitaria

@Test
public void testConsultas(){

 DatosEntrada entrada = new DatosEntrada();
 entrada.setCurp("RIMS986714MDBJY09");
 entrada.setClave("556");
 entrada.setTipoTrabajador(1);
    entrada.setFolio("123");
 
 DatosSalida salida = service.consultarDatos(entrada);
 InformacionAceptada  infAcept = repository.buscaFolio(entrada.getFolio());
 Assert.assertNotNull(salida);

}

al ejecutar el test me marca null pointer en esta linea de las validaciones

if(!entrada.getCurpValido.equals(infoAcept.getCurp())){

supongo porque no le esta llegando lo que me regresa la base, pero no se como cubrir las validaciones en el test, alguien me podria decir como??

Root93
  • 943
  • 10
  • 29
  • 61
  • Tal y como tienes las prueba solo va a cubrir la primera condicion. Tienes que llamar a `service.consultarDatos(entrada)` 5 veces modificando `entrada` en cada llamada para que pase por cada condicional. Tu error se produce cuando llama 'InformacionRepository.buscaFolio(...)' ya que es posible que reciba null, a menos que sea por que estes llamando a la variable `infoAcept` en vez de `infAcept ` – Cadeq Jun 20 '19 at 07:10
  • Posible duplicado de [¿Cuál es la solución a todos los errores NullPointerException presentes, pasados y futuros?](https://es.stackoverflow.com/questions/42977/cu%c3%a1l-es-la-soluci%c3%b3n-a-todos-los-errores-nullpointerexception-presentes-pasados) – Ruslan López Jun 21 '19 at 08:49

0 Answers0