Как тестировать контроллеры с @WebMvcTest?

Middle
368 просмотров
AFK Offer AI

@WebMvcTest(UserController.class) — поднимает только web-слой без полного контекста. Инжектишь MockMvc, мокаешь сервисы через @MockBean. mockMvc.perform(get("/api/users/1")).andExpect(status().isOk()).andExpect(jsonPath("$.name").value("John")). Проверяет маршрутизацию, сериализацию, валидацию, обработку ошибок. Быстрее @SpringBootTest. Для POST: content(json).contentType(APPLICATION_JSON). andDo(print()) — вывод запроса/ответа. Фильтры и интерцепторы тоже загружаются.

Следующий вопрос

Используя Stream API, отфильтруйте список и сгруппируйте по полю