我需要围绕一个以 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/