从预定义数据构建HttpServletRequest

时间:2014-04-03 20:38:35

标签: java http

对于测试,我想从一些预定义的数据构建HttpServletRequest对象,如:

GET / HTTP/1.1
User-Agent: Opera/9.80 (Windows NT 6.1; WOW64; U; en) Presto/2.10.289 Version/
12.01
Host: www.foo.com
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png,
image/webp, image/jpeg, image/gif, image/x-xbitmap;q=0.1
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Encoding: gzip, deflate
Pragma: no-cache
Cache-Control: no-cache
Connection: Keep-Alive

还设置了网址和客户端地址。有一些简单的方法吗?

2 个答案:

答案 0 :(得分:2)

基里尔!我认为在您的情况下最好的方法是使用Mockito框架。 例如,您可以模拟HttpServletRequest接口。并使用:

   HttpServletRequest httpRequest = Mockito.mock(HttpServletRequest.class);
   Mockito.when(httpRequest.getHeader("Host")).thenReturn("http://www.foo.com");
   Mockito.when(httpRequest.getHeader("Referer")).thenReturn("blalba");
   Mockito.when(httpRequest.getHeader("User-Agent")).thenReturn("Opera");
   Mockito.when(httpRequest.getRemoteAddr()).thenReturn("127.0.0.1");

答案 1 :(得分:0)

您可以编写解析来读取预定义数据,并使用HttpClient根据您的要求发送请求。

HttpClient Tutorial