使用注释@RequestParam的Spring MVC控制器的单元测试

Nic*_*las 2 spring unit-testing spring-mvc

如何为使用注释@RequestParam的Spring MVC控制器创建单元测试?我已经为在handlerequest方法中使用HttpServletRequest对象的控制器创建了junit测试,但我正在寻找一种使用@RequestParam测试控制器的方法.

谢谢

@RequestMapping("/call.action")

public ModelAndView getDBRecords(@RequestParam("id") String id) {

   Employee employee = service.retrieveEmployee(id);

} 
Run Code Online (Sandbox Code Playgroud)

ska*_*man 11

这种控制器风格的魅力之一是您的单元测试不需要担心请求映射的机制.他们可以直接测试目标代码,而不会对请求和响应对象产生任何影响.

因此,将您的单元测试编写为就像任何其他类一样,并忽略注释.换句话说,getDBRecords()从测试中调用并传入id参数.记住,你不需要对Spring本身进行单元测试,你可以认为它有效.

还有另一类测试("功能"或"接受"测试),一旦部署它就会测试应用程序(使用例如WebDriver,Selenium,HtmlUnit等).是测试您的映射注释正在完成工作的地方.