Junior — Middle
Pouvez-vous expliquer ce que signifie l'annotation @WebMvcTest dans le contexte des tests d'applications Spring?
sobes.tech IA
Réponse de l'IA
Аннотация @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"));
}
}