【发布时间】:2016-05-26 22:55:48
【问题描述】:
我正在尝试覆盖我的 Spring 应用程序,但发现了一些问题。主要是创建一个新的HttpServletRequest 并设置会话以获取和设置属性(以覆盖我的代码的所有行)。这个测试将在 Maven 抛出 JUnit 的情况下自动运行,然后我没有请求不响应。
我正在寻找这个,我发现了 Mockito API,它为我们提供了一种创建 HttpServletRequest 对象的方法,但我无法为该对象设置会话:
HttpServletRequest req = Mockito.mock(HttpServletRequest.class);
有人可以帮我吗?
【问题讨论】:
-
如果您使用 Spring,请使用
MockHttpServletRequest,这比尝试使用 Mockito 模拟所有内容更容易。或者更好地使用 Spring MockMvc 支持来编写测试。 -
谢谢。我要试试。
-
我还要指出,被测业务逻辑不应依赖于任何 servlet 规范工件;充其量您需要模拟请求的唯一原因是测试调用业务逻辑的编组逻辑。完成此操作后,您可能会发现集成测试更适合 Web 层。
标签: java spring maven httpsession