Назад к вопросам
СБЕР
Junior — Middle
63
Какой инструмент и подходы ты используешь для написания тестов для контроллеров в своих проектах?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Для тестирования контроллеров в Java-проектах часто используют фреймворк Spring Boot вместе с модулем Spring MVC Test (MockMvc). Этот инструмент позволяет писать интеграционные тесты, которые имитируют HTTP-запросы к контроллерам без запуска полноценного сервера.
Основные подходы:
- Использование
@WebMvcTestдля загрузки только слоя веб-контроллеров. - Применение
MockMvcдля отправки запросов и проверки ответов. - Мокирование сервисного слоя с помощью Mockito, чтобы изолировать контроллер.
Пример теста контроллера:
@RunWith(SpringRunner.class)
@WebMvcTest(MyController.class)
public class MyControllerTest {
@Autowired
private MockMvc mockMvc;
@MockBean
private MyService myService;
@Test
public void testGetEndpoint() throws Exception {
when(myService.getData()).thenReturn("Hello");
mockMvc.perform(get("/api/data"))
.andExpect(status().isOk())
.andExpect(content().string("Hello"));
}
}
Такой подход позволяет быстро проверять логику контроллеров и их взаимодействие с сервисами.