首页 > 解决方案 > 如何在 Spring 中为单元测试创​​建 HttpServletResponse?

问题描述

如何HttpServletResponse为单元测试创​​建,我可以在其中编写输出流和标头(不是MockHttpServletResponse)?在 assert 块中,我希望将OutputStream和 headers 与 etalon进行比较httpServletResponse

我用过Spring4,java8EasyMocklib.

标签: javaspringeasymock

解决方案


使用spring-test依赖项,您可以使用该类MockHttpServletResponse

此类包含获取结果流内容的方法,例如;

  • 字节[] getContentAsByteArray()
  • 字符串 getContentAsString()

还有一些方法可以检查标题。

有关课程的更多信息,您可以访问:

Spring Test 文档中,有一些关于用于测试的 Servlet API 的有趣信息。此外,本文档还建议使用 Spring 测试组件,然后再使用 EasyMock 等其他组件来测试 Spring 类

这些模拟对象的目标是与 Spring 的 Web MVC 框架一起使用,并且通常比动态模拟对象(如 EasyMock)或替代 Servlet API 模拟对象(如 MockObjects)更方便使用。

最好使用 EasyMock 在没有 Spring 的情况下测试您的类和服务,并使用 Spring test Runner 和 spring 测试框架实用程序来测试 Spring MVC、Spring Security 等 Spring 组件...


推荐阅读