Если тебе нужно тестировать Spring MVC контроллеры, но не хочется поднимать всё приложение — используй @WebMvcTest. Что это даёт - Загружает только MVC-слой, без всего Application Context - Тесты работают значительно быстрее - Можно замокать сервисы через @MockBean - Идеально для проверки контроллеров, статусов и ответов API Когда использовать - Тестируешь REST-контроллеры - Нужно проверить HTTP-ответы - Не нужна база, security, messaging и другие слои Идея простая: Вместо запуска всего приложения → поднимаем только веб-контекст. Меньше зависимостей → быстрее тесты → стабильный CI. Пример @WebMvcTest(HelloController.class) class HelloControllerTest { @Autowired private MockMvc mockMvc; @MockBean private HelloService helloService; @Test void sayHello_returnsExpectedMessage() throws Exception { given(helloService.getMessage()).willReturn("Hello!"); mockMvc.perform(get("/api/hello")) .andExpect(status().isOk()) .andExpect(content().string("Hello!")); } } Если тестируешь тольк