это мой контроллер ...java.lang.AssertionError: Статус ожидается: <200> но: <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);
}
это мой 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);
}
Я не знаю, как передать объект, когда метод контроллера вызывает ("/user")
форму testcontroller
.
и я получил сообщение об ошибке java.lang.AssertionError: Status expected:<200> but was:<400>
Может быть, потому, что вы не предоставили любой орган по вашему запросу. Попробуйте добавить .content (availableUser) к вашему сообщению –
, когда я добавляю {.content (availableUser)}, я получил сообщение об ошибке msg. "Содержимое метода (byte []) в типе MockHttpServletRequestBuilder не применимо для аргументов (AvailableUser)" – Shailu
Я не понял, почему «Принять» добавлено в заголовки в контроллере? Требуется ли это, когда мы потребляем/производим? – VinayVeluri