2016-03-04 4 views
-3

Я получаю исключение нулевого указателя при условии, приведенном ниже. Это мой метод и класс тестирования junit. Я работаю. МЕТОДJunit test case для условия 'if' в коде

@Override 
public Event getDisplayEventDetails(String ceccid, 
     String ceocid) { 

    Event evnt = null; 

    if(!(validate.isStringBlank(ceccid))) 
    { 
     if(!(validate.isStringBlank(ceocid))) 
      { 
       String dispEventUri = eventServicesUrl; 

       eventSrvcLogger.debug("dispEventUri..."+dispEventUri); 

       try { 

        ResponseEntity<Event> responseEntity = restTemplate.getForEntity(dispEventUri , Event.class); 
        evnt=responseEntity.getBody(); 
        if(responseEntity.getStatusCode().toString().equals("200")){ 
           if(evnt.getValue().length > 0){ 
            for(int i=0;i<evnt.getValue().length;i++){ 
            DisplayValue val = new DisplayValue(); 
            val = evnt.getValue()[i]; 
            eventSrvcLogger.debug(val.toString()); 
           } 
        } else{ 
         evnt.setStatusCode(responseEntity.getStatusCode().toString()); 
         evnt.setStatus(Boolean.FALSE); 
         evnt.setMessage("Exception occured in handling the request BAD REQUEST"); 
        } 

        } 
       } catch (RestClientException e) {      
        eventSrvcLogger.error("DisplayEventServiceImpl displayEventDetail() RestClientException", 
          e); 

       } 
      } 
     } 
    return evnt; 
} 

класс Junit

@Test 
public void testGetDisplayEventDetails() throws Exception{ 

    //test setup with mocking, expectations, data population 
    String eventServicesUrl = "http://restUrl"; 
    Event evnt = newEvent(); 
    ResponseEntity<Event> responseEntity = new ResponseEntity<Event>(evnt, HttpStatus.OK); 
    DisplayValue[] dv = new DisplayValue[1]; 
    DisplayValue dvalue = new DisplayValue(); 
    dvalue.setFirst_name("Ron"); 
    dv[0] =dvalue; 
    evnt.setValue(dv); 

    new NonStrictExpectations() { 
     { 
      restTemplate.getForEntity(anyString,evnt.class);returns(responseEntity); 

     } 
    }; 

    EventService evntSrvcImpl = new EventServiceImpl(); 
    ReflectionTestUtils.setField(evntSrvcImpl,"eventServicesUrl", eventServicesUrl); 
    ReflectionTestUtils.setField(evntSrvcImpl,"restTemplate", restTemplate); 


    } 


    //execute your test case 
    Event evnt1 = evntSrvcImpl.getDisplayEventDetails("ceccid", "ceocid"); 

    //perform verifications and assertions 
    assertNotNull(evnt); 
    assertEquals(evnt.getValue()[0].getName(), evnt1.getValue()[0].getName()); 
} 

отладки его метания исключения нулевого указателя в этой строке кода если (responseEntity.getStatusCode(). ToString(). Equals ("200"))

Как установить это значение в классе тестирования junit?

+0

Я получил его, добавив ниже строк JUnit тестовый класс: 'HttpStatus StatusCode = HttpStatus.OK;' ' responseEntity.getStatusCode(); возвращается (StatusCode); ' – SMITH

ответ

0

Я получил его, добавив ниже линий тест JUnit класс:

HttpStatus statusCode= HttpStatus.OK;, responseEntity.getStatusCode(); returns(statusCode);