es mein Controller ist ...java.lang.AssertionError: Status erwartet: <200> aber war: <400>
@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);
}
es mein Testcontroller ist ...
@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);
}
Ich weiß nicht, wie man übergeben Sie das Objekt, wenn der Controller-Methodenaufruf ("/user")
Formular testcontroller
.
und ich bekam Fehlermeldung java.lang.AssertionError: Status expected:<200> but was:<400>
Vielleicht, weil Sie nicht liefern Jeder Körper zu Ihrer Anfrage. Versuche, .content (availableUser) zu deinem Beitrag hinzuzufügen –
wenn ich {.content (availableUser)} hinzufüge, habe ich die Fehlermeldung erhalten. "Der Methodeninhalt (byte []) im Typ MockHttpServletRequestBuilder ist nicht anwendbar für die Argumente (AvailableUser)" – Shailu
Ich habe nicht verstanden, warum die "Accept" zu den Headern im Controller hinzugefügt wird? Ist das erforderlich, wenn wir konsumiert haben? – VinayVeluri