春天mvc;测试重定向是否相对

时间:2013-07-02 10:43:46

标签: java spring unit-testing spring-mvc spring-test-mvc

我想测试我的控制器是否返回正确的重定向(相对/上下文相对/绝对)。如何使用spring的mockMVC进行测试? 我可以避免使用不同的上下文启动服务器2次进行集成测试吗?

1 个答案:

答案 0 :(得分:1)

如果处理程序方法总是返回String,则重定向始终相对于当前servlet上下文或绝对值。正如Chapter 17.5.3 of Spring Reference所述:

  

逻辑视图名称,例如redirect:/ myapp / some / resource将   相对于当前Servlet上下文的重定向,而名称如   重定向:http://myhost.com/some/arbitrary/path将重定向到   绝对URL。

因此在我看来,测试返回的String有“redirect:”前缀就足够了,并检查“http://”或“https://”前缀。