简体   繁体   English

java.lang.AssertionError: 预期状态:<200> 但为:<400>

[英]java.lang.AssertionError: Status expected:<200> but was:<400>

it's my controller...这是我的控制器...

@RequestMapping(value = "/user", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE, headers = "Accept=application/json")
public @ResponseBody ResponseMessage getUser(@RequestBody AvailableUser uuid) {
    logger.info("enter into getuser method's body");
    return Manager.availableUser(uuid);
}

it's my testcontroller...这是我的测试控制器...

@Test 
public void testgetUser() throws Exception 
{
    AvailableUser availableUser=new AvailableUser();
    List<String> lst =new ArrayList<String>();
    lst.add("test1");
    lst.add("test2");
    availableUser.setUuId(lst);
    this.mockMvc.perform(post("/user").contentType(MediaType.APPLICATION_JSON).accept(MediaType.APPLICATION_JSON))
        .andExpect(status().isCreated())
        .andExpect(status().isOk());
         when(Manager.availableUser(availableUser)).thenReturn(message);
}

I don't know how to pass the object when controller method call ("/user") form testcontroller .当控制器方法调用("/user")表单testcontroller时,我不知道如何传递对象。

and I got error message java.lang.AssertionError: Status expected:<200> but was:<400>我收到错误消息java.lang.AssertionError: Status expected:<200> but was:<400>

If you're using Jackson, the simplest approach is to serialize the AvailableUser to JSON String using an instance of ObjectMapper :如果您使用 Jackson,最简单的方法是使用ObjectMapper的实例将AvailableUser序列化为 JSON String:

@Test 
public void testgetUser() throws Exception 
{
    // Same stuff
    ObjectMapper mapper = new ObjectMapper();
    this.mockMvc
        .perform(
                  post("/user")
                 .contentType(MediaType.APPLICATION_JSON)
                 .accept(MediaType.APPLICATION_JSON)
                 .content(mapper.writeValueAsString(availableUser))
        )
        .andExpect(status().isCreated())
        .andExpect(status().isOk());
    // Same as before
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 java.lang.AssertionError:预期状态:&lt;400&gt; 但原为:&lt;200&gt; 预期:400 实际:200 - java.lang.AssertionError: Status expected:<400> but was:<200> Expected :400 Actual :200 java.lang.AssertionError:预期状态:&lt;200&gt;但原为:&lt;201&gt; - java.lang.AssertionError: Status expected:<200> but was:<201> java.lang.AssertionError:预期状态:&lt;200&gt;但原为:&lt;404&gt; - java.lang.AssertionError: Status expected:<200> but was:<404> java.lang.AssertionError:预期状态:&lt;200&gt;,但在静态服务中为:&lt;404&gt; - java.lang.AssertionError: Status expected:<200> but was:<404> in restful services java.lang.AssertionError:预期状态:&lt;200&gt;但原为:&lt;405&gt; - java.lang.AssertionError: Status expected:<200> but was:<405> java.lang.AssertionError:预期状态:&lt;200&gt;但原为:&lt;302&gt; itShouldAllowAccessToSecuredPageForPermittedUser - java.lang.AssertionError: Status expected:<200> but was:<302> itShouldAllowAccessToSecuredPageForPermittedUser @RequestMapping java.lang.AssertionError:预期状态:200 实际:404 - @RequestMapping java.lang.AssertionError: Status Expected :200 Actual :404 java.lang.AssertionError: Status expected:&lt;200&gt; but was:&lt;404&gt; in Junit test - java.lang.AssertionError: Status expected:<200> but was:<404> in Junit test java.lang.AssertionError:预期状态:&lt;201&gt;,但之前是:&lt;400&gt; - java.lang.AssertionError: Status expected:<201> but was:<400> java.lang.AssertionError:预期状态:<400> 但为:<404> - java.lang.AssertionError: Status expected:<400> but was:<404>
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM