用 url 字符串创建一个模拟 HttpServletRequest?

2022-01-08 00:00:00 mocking java servlets

我有一个服务对 HttpServletRequest 对象做一些工作,特别是使用 request.getParameterMap 和 request.getParameter 来构造一个对象.

I have a service that does some work on an HttpServletRequest object, specifically using the request.getParameterMap and request.getParameter to construct an object.

我想知道是否有一种直接的方法来获取提供的 url,以字符串的形式,比如

I was wondering if there is a straightforward way to take a provided url, in the form of a string, say

String url = "http://www.example.com/?param1=value1&param";

并轻松地将其转换为 HttpServletRequest 对象,以便我可以使用单元测试对其进行测试?或者至少只是让 request.getParameterMap 和 request.getParameter 正常工作?

and easily convert it to a HttpServletRequest object so that I can test it with my unit tests? Or at least just so that request.getParameterMap and request.getParameter work correctly?

推荐答案

Spring有MockHttpServletRequest 在它的 spring-test 模块中.

Spring has MockHttpServletRequest in its spring-test module.

如果您使用的是 maven,您可能需要将适当的依赖项添加到您的 pom.xml.您可以在 mvnrepository.com 找到 spring-test.

If you are using maven you may need to add the appropriate dependency to your pom.xml. You can find spring-test at mvnrepository.com.

相关文章