2017-09-21 2 views
1

모의 방법 getResourceAsStream 자바 단위 테스트에서? 서블릿 요청에서 리소스 파일을 읽는 데 사용하고 있습니다.자바 단위 테스트 모의 HttpServletRequest getResourceAsStream

HttpServletRequest.getSession().getServletContext().getResourceAsStream()

나는 HttpServletRequest을 조롱 org.mockito.Mock을 사용하고 있습니다.

답변

2

상당히 조롱 거리가 있습니다. 특수 효과를 사용하는 것이 좋습니다.

import static org.mockito.Mockito.when; 

public class TestClass{ 

    @Mock 
    private HttpServletRequest httpServletRequestMock; 

    @Mock 
    private HttpSession httpsSessionMock; 

    @Mock 
    private ServletContext servletContextMock; 

    @Before 
    public void init(){ 
     MockitoAnnotations.initMocks(this); 
    } 

    @Test 
    public void test(){ 
     // Arrange 
     when(httpServletRequestMock.getSession()).thenReturn(httpSessionMock); 
     when(httpSessionMock.getServletContext()).thenReturn(servletContextMock); 

     InputStream inputStream = // instantiate; 

     when(servletContextMock.getResourceAsStream()).thenReturn(inputStream); 

     // Act - invoke method under test with mocked HttpServletRequest 

    } 
} 
관련 문제