@Autowired HttpServletRequest内部集成测试

时间:2013-02-25 18:16:11

标签: spring integration-testing

最后,我设法为某些集成测试设置了上下文,并测试了期望@PathVariable或@ModelAttribute的方法。不过,我无法弄清楚如何设置控制器内部使用的HTTPServletRequest。

MyController {
    @Autowired
private HttpServletRequest request;
}

在我运行测试时,请求永远不会更新。 我可能会误解一些事情(就我刚接触Spring而言)。 我怎样才能做到这一点? 提前感谢您的回答!

2 个答案:

答案 0 :(得分:0)

HttpServletRequest是不是通过方法参数传递给控制器​​? 使用@Autowired将实例变量连接到Spring上下文bean。 也许您可以查看MockHttpServletRequest来测试Web控制器。

答案 1 :(得分:0)

我没有时间填写答案:我正在使用MockHttpServletRequest和Spring 3.1.2。 我设法解决它不是通过使用@Autowired,而是通过从控制器获取请求bean。像这样:

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

希望这会帮助别人......