Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 创建HttpServletRequest和HttpServletResponse消息,而不是mock_Java_Unit Testing_Servlets_Servlet Filters - Fatal编程技术网

Java 创建HttpServletRequest和HttpServletResponse消息,而不是mock

Java 创建HttpServletRequest和HttpServletResponse消息,而不是mock,java,unit-testing,servlets,servlet-filters,Java,Unit Testing,Servlets,Servlet Filters,我正在为过滤器编写一个单元测试,以记录请求和响应消息。我们是否可以创建HttpServletRequest和HttpServletResponse消息而不是mock来作为doFilter()方法的输入发送 当然,只需实现接口即可。然而,这些是大型接口,因此需要维护大量代码,而不是模拟 如果您不使用mock的原因只是简单地厌恶mock(很好!),请注意,手动实现“mock”对象和让框架为您实现这两者之间实际上没有区别;在这两种情况下,您的代码都与最终使用的web框架不同 您正在编写的代码也许可以通

我正在为过滤器编写一个单元测试,以记录请求和响应消息。我们是否可以创建HttpServletRequest和HttpServletResponse消息而不是mock来作为doFilter()方法的输入发送

当然,只需实现接口即可。然而,这些是大型接口,因此需要维护大量代码,而不是模拟

如果您不使用mock的原因只是简单地厌恶mock(很好!),请注意,手动实现“mock”对象和让框架为您实现这两者之间实际上没有区别;在这两种情况下,您的代码都与最终使用的web框架不同

您正在编写的代码也许可以通过集成测试进行更好的测试——作为测试工具的一部分启动真正的web服务器并生成真正的HTTP请求

如果您试图通过手动实现接口来解决Mock为您创建的问题,下面是一个定制HttpServletRequest的示例,它是Jetty附带的实现的扩展: