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

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

@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请求的单元测试.

上一篇:java-jsonpath:JSON路径:$.id无值,例外:路径“ id”被应用于数组.数组不能具有属性


下一篇:js/bat批处理调用谷歌浏览器chrome批量打开网页测试web性能