gpt4 book ai didi

java - 创建 HttpServletRequest 和 HttpServletResponse 消息而不是模拟

转载 作者:行者123 更新时间:2023-11-30 06:48:03 68 4
gpt4 key购买 nike

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

最佳答案

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

如果你不使用模拟的原因只是对模拟的厌恶(很好!)请注意,手动实现“模拟”对象和让框架为你做这件事实际上没有区别;在这两种情况下,您为代码提供的内容都与您最终使用的 Web 框架将使用的内容不同。

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

如果您尝试通过手动实现接口(interface)来解决模拟为您创建的问题,下面是一个自定义 HttpServletRequest 的示例,它作为 Jetty 附带的实现的扩展实现:

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

关于java - 创建 HttpServletRequest 和 HttpServletResponse 消息而不是模拟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43328707/

68 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com