java - 如何在 Spring 中为单元测试创​​建 HttpServletResponse?

标签 java spring easymock

如何为单元测试创​​建 HttpServletResponse,我可以在其中编写输出流和 header (不是 MockHttpServletResponse)? 在断言 block 中,我希望将 OutputStream 和 header 与标准具 httpServletResponse 进行比较。

我使用了 Spring4java8EasyMock 库。

最佳答案

使用 spring-test 依赖你可以使用类 MockHttpServletResponse

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

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

还有一些方法可以检查 header 。

有关您可以访问的类(class)的更多信息:

Spring Test documentation 有一些关于用于测试的 Servlet API 的有趣信息。此外,本文档建议在使用 EasyMock 等其他组件之前使用 Spring 测试组件来测试 Spring 类

These mock objects are targeted at usage with Spring’s Web MVC framework and are generally more convenient to use than dynamic mock objects such as EasyMock or alternative Servlet API mock objects such as MockObjects.

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

关于java - 如何在 Spring 中为单元测试创​​建 HttpServletResponse?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51739333/

相关文章:

java - 使用正则表达式从字符串中提取数字

java - 二进制字符串到音频的转换(Python 或 Java)

java - 如何分离业务逻辑和指标日志?

spring data jpa规范join fetch不起作用

java - EasyMock 提示不是一个接口(interface)

java - Java 中的字符串操作导致 "String index out of range"

java - 读我自己的Jar list

java - Spring AOP @After 建议导致异常

java - EasyMock:提供你在编译时不知道的参数

java - PowerMock 提示不正确的参数,即使私有(private)方法被模拟