gpt4 book ai didi

Java 单元测试模拟 HttpServletRequest getResourceAsStream

转载 作者:行者123 更新时间:2023-11-30 02:22:57 26 4
gpt4 key购买 nike

如何在 Java 单元测试中模拟 HttpServletRequest getResourceAsStream?我正在使用它从 servlet 请求读取资源文件。

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

我正在使用org.mockito.Mock来模拟HttpServletRequest

最佳答案

你需要做很多 mock 。我建议使用注释:

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

}
}

关于Java 单元测试模拟 HttpServletRequest getResourceAsStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46342796/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com