继承了使用MockMVC传入@RequestMapping的类

时间:2016-05-18 20:55:47

标签: java spring-mvc junit mockito

我有这样的课程Type1

public class Type1 extends TypeParent {}

我的控制器中有一个方法帖子,我将使用MockMvc进行测试:

@RequestMapping(value = "/actions", method = RequestMethod.POST)
public Map<String, Name> gettypes(@Valid @RequestBody Type1 request) { ... }

但我不明白为什么以下测试代码无效。

Type1 type= new Type1();

mockMvc.perform(post("/actions").contentType(JsonUtils.APPLICATION_JSON_UTF8).content(JsonUtils.toJson(type)))
    .andExpect(status().isOk())
    .andDo(print());

输出:

  

java.lang.AssertionError:期望的状态:&lt; 200&gt;但是:&lt; 400&gt;

否则:TypeParent typeParent = new TypeParent();它的工作非常好:

mockMvc.perform(post("/actions").contentType(JsonUtils.APPLICATION_JSON_UTF8)
    .content(JsonUtils.toJson(typeParent)))
    .andExpect(status().isOk())
    .andDo(print());

我明白传递一个继承的对象并不起作用,我该如何解决这个问题呢?

1 个答案:

答案 0 :(得分:0)

我解决了这个问题......这很奇怪:

在类Type1中我有一个函数:isEmpty(){..}

当我将其转换为json时,我得到了这个: {   “空”:真实, }

我将此函数的名称更改为myFctEmpty(){..}的解决方案!!!!