Sobes.tech
Junior — Middle

Spring колдонмолорун тестирлөө контекстинде @WebMvcTest белгисинин мааниси эмне экенин түшүндүрө аласызбы?

sobes.tech AI

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