最后,我设法为某些集成测试设置了上下文,并测试了期望@PathVariable或@ModelAttribute的方法。不过,我无法弄清楚如何设置控制器内部使用的HTTPServletRequest。
MyController {
@Autowired
private HttpServletRequest request;
}
在我运行测试时,请求永远不会更新。 我可能会误解一些事情(就我刚接触Spring而言)。 我怎样才能做到这一点? 提前感谢您的回答!
答案 0 :(得分:0)
HttpServletRequest是不是通过方法参数传递给控制器? 使用@Autowired将实例变量连接到Spring上下文bean。 也许您可以查看MockHttpServletRequest来测试Web控制器。
答案 1 :(得分:0)
我没有时间填写答案:我正在使用MockHttpServletRequest和Spring 3.1.2。 我设法解决它不是通过使用@Autowired,而是通过从控制器获取请求bean。像这样:
mockRequest = (MockHttpServletRequest) applicationContext.getBean ("request");
希望这会帮助别人......