Java单元测试模拟HttpServletRequest getResourceAsStream
如何在Java单元测试中模拟HttpServletRequestJava单元测试模拟HttpServletRequest getResourceAsStream,java,unit-testing,servlets,junit,mockito,Java,Unit Testing,Servlets,Junit,Mockito,如何在Java单元测试中模拟HttpServletRequestgetResourceAsStream?我使用它从servlet请求中读取资源文件 HttpServletRequest.getSession().getServletContext().getResourceAsStream() 我正在使用org.mockito.Mock来模拟HttpServletRequest您需要做很多模拟。我建议使用注释: import static org.mockito.Mockito.when; p
getResourceAsStream
?我使用它从servlet请求中读取资源文件
HttpServletRequest.getSession().getServletContext().getResourceAsStream()
我正在使用
org.mockito.Mock
来模拟HttpServletRequest
您需要做很多模拟。我建议使用注释:
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
}
}