【问题标题】:Dummy Request Response for Servlet testingServlet 测试的虚拟请求响应
【发布时间】:2011-06-28 07:57:52
【问题描述】:

如何为 Servlet 测试创建虚拟请求和响应。我阅读了有关 Apache Jkarta Cactus 项目的信息,但不想详细说明。我们可以只构造一个虚拟请求响应并将其传递给 doGet() 方法(当然构造的请求会有一个 URL 和请求参数,但是如何构造这样的虚拟请求)?

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

【问题讨论】:

    标签: unit-testing servlets


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      当然,这些接口上的各种方法是相互关联的,尤其是在请求中,所以它比最初看起来要复杂。

      一些框架带有test implementations 这些接口。例如 Spring 带有 MockHttpServletRequestMockHttpServletResponse 类,它们对这些接口具有全面的合理实现。

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

      【讨论】:

      • 当我尝试实现这些接口时,它要求我实现很多方法。我需要的只是设置一个 URL 和一些参数和请求类型,如 GET、POST。您能否提供一些链接来阅读有关 jmock、mockito、easymock 的信息?
      • @rm21:我刚刚为您提供了 2 个替代方案来自己实现接口。模拟框架都有自己的网页和教程。
      • 你会看看他们。我也在调查this。 servlet 的 junit 测试是否需要 apache 才能运行?因为我希望使用 ant 通过构建文件运行,所以我应该得到我的 junit 输出
      • @rm21:HttpUnit 是一个用于测试网站的框架,而不是用于代码的单元测试。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-07
      相关资源
      最近更新 更多