java - Servlet 的单元测试

标签 java unit-testing servlets

我需要围绕一个以 HttpServletRequest 和 HttpServletResponse 对象作为参数的函数编写单元测试。

如果我创建这两个对象(请求和响应)的模拟,一个对象的更改将如何反射(reflect)在另一个对象中。

例如。如果我想围绕在响应对象中设置 header 的代码进行单元测试。

response.addHeader("X-UA-Compatible", "IE=EmulateIE7");

让我知道如何继续。

最佳答案

在您的模拟库中,将有某种方法来断言已调用方法。因此,您的测试代码将包含如下语句:

// psuedo-code
assertThat(mockResponse).addHeader("X-UA-Compatible", "IE=EmulateIE7");

在我使用过的模拟框架(JMock、Mockito)中,模拟对象之间没有自动协作。因此,除非您声明一个,否则您的模拟 HttpServletRequest 将与您的模拟 HttpServletResponse 没有任何关系。

关于java - Servlet 的单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16009196/

相关文章:

java - 是否有可能在 Spring 制作@Aspect 请求范围

java - Hibernate注释: Many-to-many with shared composite key attribute

c# - 自动生成 .NET 单元测试

java - 通过 Cmd 行设置 Tomcat

java - JSP 的 JSON 数组元素到 ArrayList

java - Java 的字符串常量池在哪里,堆还是栈?

unit-testing - Scalamock "annotation"库

java - 自定义代理未在 munit 测试中运行

jsp - 如何在 index.jsp 上加载 servlet

java - 如何在没有 <form> 元素的情况下将参数从 JSP 页面发送到 Servlet