Тест HTTP Post Request Spring Boot Controller возвращает MockHttpServletResponse, который имеет пустое тело, несмотря наJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Тест HTTP Post Request Spring Boot Controller возвращает MockHttpServletResponse, который имеет пустое тело, несмотря на

Сообщение Anonymous »

При запуске теста данные не возвращаются, если контроллер вызывает метод NotesService.save(). Он просто возвращает MockHttpServletResponse со статусом = 200, сообщением об ошибке = null и телом = (это просто пробел).
Он возвращает объект JSON, если объект Note возвращается непосредственно из контроллера. класс, но он должен работать при использовании NotesService.save().
@WebMvcTest
@ExtendWith(SpringExtension.class)
@AutoConfigureMockMvc
public class NotesControllerTest {

@MockBean
private NotesService notesService;

@Autowired
private MockMvc mockMvc;

@Autowired
private ObjectMapper objectMapper;

@Test
public void testSave() throws Exception {

Note noteToCreate = new Note(null, "Sample Note", "Hello, World!");
Note createdNote = new Note(1L, "Sample Note", "Hello, World!");

when(notesService.save(noteToCreate)).thenReturn(createdNote);

ResultActions response = mockMvc.perform( post("/api/notes")
.contentType(MediaType.APPLICATION_JSON)
.content(objectMapper.writeValueAsString(noteToCreate))
);

response.andDo(print())
.andExpect(MockMvcResultMatchers.status().isOk());
}
}

@RestController
@RequestMapping("/api/notes")
public class NotesController {

@Autowired
private NotesService notesService;

@PostMapping
public Note save (@RequestBody Note note ){

return notesService.save(note);
}
}

@Service
public class NotesService {

public Note save(Note note){
return new Note(1L, "Sample Note", "Hello, World!");
}
}


Подробнее здесь: https://stackoverflow.com/questions/788 ... etresponse
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Тест интеграции Spring Boot с @MockMvc, возвращающим пустое тело
    Anonymous » » в форуме JAVA
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • Тест интеграции Spring Boot с @MockMvc, возвращающим пустое тело
    Anonymous » » в форуме JAVA
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Тест интеграции Spring Boot с @MockMvc, возвращающим пустое тело
    Anonymous » » в форуме JAVA
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • Тест интеграции Spring Boot с @MockMvc, возвращающим пустое тело
    Anonymous » » в форуме JAVA
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous
  • Тест интеграции Spring Boot с @MockMvc, возвращающим пустое тело
    Anonymous » » в форуме JAVA
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»