Sobes.tech
Junior — Middle

Vai jūs varat izskaidrot, ko nozīmē @WebMvcTest anotācija Spring lietojumprogrammu testēšanas kontekstā?

sobes.tech AI

Atbilde no 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"));
    }
}