2015-01-04 2 views
0

첫 번째 함수는 NullPointerException을 던졌습니다. 왜 이런 일이 발생합니까? 두 번째 함수는 아무런 문제가 없습니다. 유닛 테스트에서 NullPointerException이 발생했습니다.

UrlShortenerTests.Java

//Test de redireccion si la url corta existe 
@Test 
public void thatRedirectToReturnsTemporaryRedirectIfKeyExists() 
     throws Exception { 
    when(shortURLRepository.findByKey("someKey")).thenReturn(new ShortURL("someKey", "http://example.com/", null, null, null, 
      null, 307, true, null, null)); 

    mockMvc.perform(get("/l{id}", "someKey")).andDo(print()) 
      .andExpect(status().isAccepted()); 
} 

//Test de redireccion si la url corta no existe 
@Test 
public void thatRedirecToReturnsNotFoundIdIfKeyDoesNotExist() 
     throws Exception { 
    when(shortURLRepository.findByKey("someKey")).thenReturn(null); 

    mockMvc.perform(get("/l{id}", "someKey")).andDo(print()) 
      .andExpect(status().isNotFound()); 
} 

스택 추적 :

test.java.urlshortener2014.web.rest.UrlShortenerTests > thatRedirectToReturnsTemporaryRedirectIfKeyExists FAILED 
    org.springframework.web.util.NestedServletException at UrlShortenerTests.java:74 
     Caused by: java.lang.NullPointerException at UrlShortenerTests.java:74 
+3

당신에게 fjLopez – Angad

+0

하여 예외의 스택 트레이스를 제시해주십시오 : 그냥 UrlShortenerClass에 추가 –

답변

1

코드를 검토 한 후, 당신은 UrlShortnenerOldBurgundy의 모든 주사를 조롱한다. 여기에는 UrlShortnenerOldBurgundy 클래스 58 행에서 호출되는 WorkRepositorySponsor이 포함되며 예외가 발생합니다. :-), 문제에 대한 해결책으로이 대답을 표시하십시오

@Mock WorksRepositorySponsor worksRepositorySponsor;

+0

에 추적 및 링크를 추가 –

+0

대단히 감사합니다 고정 코드 –

관련 문제