2013-07-02 48 views
1

我想測試我的控制器是否返回正確的重定向(相對/上下文相對/絕對)。我如何使用spring的mockMVC來測試它? 我可以避免使用不同上下文的啓動服務器進行2次集成測試嗎?spring mvc;測試重定向是否相對

回答

1

如果您的處理程序方法總是返回String,那麼重定向總是相對於當前的servlet上下文,或者是絕對的。作爲Chapter 17.5.3 of Spring Reference指定:

邏輯視圖名稱如重定向:/ MyApp的/一些/資源將 重定向相對於當前的Servlet上下文中,而一個名稱,如 重定向:http://myhost.com/some/arbitrary/path將重定向到 絕對URL。

因此,在我看來,測試返回的字符串有「重定向:」前綴,並檢查「http://」或「https://」前綴是足夠的。