Unit testing Servlet测试的虚拟请求响应

Unit testing Servlet测试的虚拟请求响应,unit-testing,servlets,Unit Testing,Servlets,如何为Servlet测试创建虚拟请求和响应。我阅读了ApacheJkartaCactus项目,但不想详细介绍。我们是否可以构造一个虚拟请求响应并将其传递给doGet()方法(当然,构造的请求将具有URL和请求参数,但是如何构造这样的虚拟请求) 并且也不希望junit依赖于Apache(应该独立于它运行) 看看MockHTTPServletRequest(),我认为它会起作用。是你可以阅读的链接 HttpServletRequest和HttpServletResponse只是接口,因此您可以轻松地

如何为Servlet测试创建虚拟请求和响应。我阅读了ApacheJkartaCactus项目,但不想详细介绍。我们是否可以构造一个虚拟请求响应并将其传递给doGet()方法(当然,构造的请求将具有URL和请求参数,但是如何构造这样的虚拟请求)


并且也不希望junit依赖于Apache(应该独立于它运行)

看看MockHTTPServletRequest(),我认为它会起作用。是你可以阅读的链接

HttpServletRequest
HttpServletResponse
只是接口,因此您可以轻松地自己实现它们并在单元测试中使用它们

当然,这些接口上的各种方法是相互关联的,特别是在请求中,因此它比最初看起来更复杂

有些框架附带这些接口的一部分。例如,Spring附带了
MockHttpServletRequest
MockHttpServletResponse
类,这些类具有这些接口的全面合理实现


或者,您可以使用一个模拟对象框架(Java中有许多…jmock、mockito、easymock等,但只有3个),它允许您只实现您感兴趣的方法。

当我尝试实现这些接口时,它要求我实现许多方法。我需要的只是设置一个URL和一些参数以及请求类型,比如GET、POST。你能提供一些链接来阅读jmock、mockito和easymock吗?@rm21:我刚才给了你两个自己实现接口的选择。模拟框架都有自己的带有教程的网页。你会看一看。。我也在调查。servlet的junit测试是否需要apache来运行?因为我希望在使用ant运行构建文件时,我应该得到我的junitoutputs@rm21:HttpUnit是用于测试网站的框架,而不是用于代码的单元测试。