Junior — Middle
84
Quels outils et approches utilisez-vous pour écrire des tests pour les contrôleurs dans vos projets?
Entreprises à qui on a demandé
Réponse de l'IA
sobes.tech IA
Для тестирования контроллеров в 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"));
}
}
Такой подход позволяет быстро проверять логику контроллеров и их взаимодействие с сервисами.