我想测试我的控制器是否返回正确的重定向(相对/上下文相对/绝对)。如何使用spring的mockMVC进行测试? 我可以避免使用不同的上下文启动服务器2次进行集成测试吗?
答案 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://”前缀。