【发布时间】:2013-07-02 10:43:45
【问题描述】:
我想测试我的控制器是否返回正确的重定向(相对/上下文相对/绝对)。如何使用 spring 的 mockMVC 对其进行测试? 我可以避免使用不同上下文启动服务器 2 次的集成测试吗?
【问题讨论】:
标签: java spring unit-testing spring-mvc spring-test-mvc
我想测试我的控制器是否返回正确的重定向(相对/上下文相对/绝对)。如何使用 spring 的 mockMVC 对其进行测试? 我可以避免使用不同上下文启动服务器 2 次的集成测试吗?
【问题讨论】:
标签: java spring unit-testing spring-mvc spring-test-mvc
如果您的处理程序方法总是返回字符串,则重定向总是相对于当前的 servlet 上下文,或者是绝对的。如Chapter 17.5.3 of Spring Reference 中所述:
诸如redirect:/myapp/some/resource 之类的逻辑视图名称将 相对于当前 Servlet 上下文的重定向,而名称如 redirect:http://myhost.com/some/arbitrary/path 将重定向到 绝对网址。
因此,在我看来,测试返回的字符串是否具有“redirect:”前缀并检查“http://”或“https://”前缀就足够了。
【讨论】: