【问题标题】:Create the HttpServletRequest and HttpServletResponse message instead of mock创建 HttpServletRequest 和 HttpServletResponse 消息而不是模拟
【发布时间】:2017-09-05 19:46:54
【问题描述】:

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

【问题讨论】:

    标签: java unit-testing servlets servlet-filters


    【解决方案1】:

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

    如果您不使用模拟的原因是对模拟的简单反感(很好!)请注意,手动实现“模拟”对象和让框架为您完成实际上没有区别;在这两种情况下,您都在为您的代码提供与您最终使用的网络框架不同的东西。

    您正在编写的代码可能通过集成测试得到更好的测试 - 启动一个真正的 Web 服务器作为您的测试工具的一部分并生成真正的 HTTP 请求。

    如果您正在尝试通过手动实现接口来解决模拟为您创建的问题,这里是一个自定义 HttpServletRequest 的示例,该示例被实现为 Jetty 附带的实现的扩展:

    https://github.com/neo4j/neo4j/blob/3.2/community/server/src/main/java/org/neo4j/server/rest/web/InternalJettyServletRequest.java

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-11
      • 1970-01-01
      • 2017-12-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-21
      • 2011-07-28
      • 1970-01-01
      相关资源
      最近更新 更多