Назад к вопросам
Junior — Middle
68
Можете объяснить, что означает аннотация @WebMvcTest в контексте тестирования Spring приложений?
Компании, где спрашивали
Ifellow
Ответ от нейросети
sobes.tech AI
Аннотация @WebMvcTest используется в Spring для тестирования слоя веб-контроллеров. Она загружает только компоненты, связанные с веб-слоем (например, контроллеры, конфигурации Spring MVC, фильтры), без загрузки всего контекста приложения.
Это позволяет писать быстрые и изолированные тесты контроллеров, не затрагивая сервисы, репозитории и другие бины. Обычно вместе с @WebMvcTest используется MockMvc для имитации HTTP-запросов и проверки ответов.
Пример:
@WebMvcTest(MyController.class)
public class MyControllerTest {
@Autowired
private MockMvc mockMvc;
@Test
public void testGet() throws Exception {
mockMvc.perform(get("/api/data"))
.andExpect(status().isOk())
.andExpect(content().string("Hello"));
}
}