2013-02-25 63 views
1

最後,我設法設置了一些集成測試的上下文,並測試期望@PathVariable或@ModelAttribute的方法。不過,我無法弄清楚如何設置控制器內使用的HTTPServletRequest。@Autowired HttpServletRequest內集成測試

MyController { 
    @Autowired 
private HttpServletRequest request; 
} 

當我運行測試時,請求永遠不會更新。 我可能會誤解某些東西(就我而言,Spring是新的)。 我該如何做到這一點? 在此先感謝您的答案!

回答

0

我沒有時間填寫答案:我正在使用MockHttpServletRequest和Spring 3.1.2。 我設法解決它不是通過使用@Autowired,而是通過從控制器獲取請求bean。事情是這樣的:

mockRequest = (MockHttpServletRequest) applicationContext.getBean ("request"); 

希望這能幫助別人......

0

是不是HttpServletRequest通過方法參數傳遞給控制器​​? 使用@Autowired將實例變量連接到Spring上下文bean。 也許你可以看看MockHttpServletRequest以測試Web控制器。