为Junit测试构建简单的http-header

tok*_*khi 8 java junit servlets mocking

我正在尝试测试一个HttpServletRequest,为此我使用了 Mockito如下:

HttpServletRequest  mockedRequest = Mockito.mock(HttpServletRequest.class);
Run Code Online (Sandbox Code Playgroud)

现在在将http请求放入assert方法之前我只想在不启动真实服务器的情况下构建如下的简单http头:

x-real-ip:127.0.0.1
host:example.com
x-forwarded-for:127.0.0.1
accept-language:en-US,en;q=0.8
cookie:JSESSIONID=<session_ID>
Run Code Online (Sandbox Code Playgroud)

有人可以帮助我如何构建这样的测试头?谢谢.

bla*_*ank 11

你可以只存根request.getHeaders等来电,或者如果你可以添加一个依赖,Spring的测试有一个MockHttpServletRequest,你可以使用(见这里)

MockHttpServletRequest request = new MockHttpServletRequest();
request.addHeader("x-real-ip","127.0.0.1");
Run Code Online (Sandbox Code Playgroud)

或者您可以构建自己的实现,允许您设置标头.