其他分享
首页 > 其他分享> > 弹簧-具有对象参数的模拟控制器

弹簧-具有对象参数的模拟控制器

作者:互联网

我正在尝试使用此签名测试方法:

@RequestMapping(value="/Employee/{id}", method=RequestMethod.PUT, consumes="application/json") 
@Transactional
public @ResponseBody Map update(@PathVariable Integer id, 
    @RequestBody HashMap<String, Object> information) {

}

问题是MockMvc参数属性仅接受String参数,是否可以将HashMap或实例类对象作为参数传递给RequestBody?

当我尝试将HashMap作为字符串传递时,出现MismatchException.

解决方法:

您需要为此使用Jackson.这个想法是将对象反序列化(与HashMap无关)到JSON字符串中,然后将其传递到MockMvc中.

Here is tutorial how to do that.只需在其中搜索TestClass并查看其用法.跳过GET请求的单元测试.

标签:mockmvc,junit,spring,spring-mvc,controller
来源: https://codeday.me/bug/20191121/2049763.html