Встречается на собеседованиях • сегодня

Пишешь ли тесты на контроллеры

Да, тесты на контроллеры писать необходимо. Они проверяют корректность обработки HTTP-запросов, валидацию входных данных, статусы ответов и логику взаимодействия с сервисным слоем.

Пример теста для Spring MVC контроллера:

java
@WebMvcTest(UserController.class)
public class UserControllerTest {
    @Autowired
    private MockMvc mockMvc;
    @MockBean
    private UserService userService;
text
@Test
void getUserById_ReturnsOk() throws Exception {
    User user = new User(1L, "test@example.com");
    when(userService.findById(1L)).thenReturn(user);

    mockMvc.perform(get("/users/1"))
           .andExpect(status().isOk())
           .andExpect(jsonPath("$.email").value("test@example.com"));
}

}

text

**Что проверяем:**  
- HTTP-статусы (200, 404, 400 и т.д.)  
- JSON-структуру ответа  
- Заголовки (например, `Content-Type`)  
- Обработку исключений (например, `@ExceptionHandler`)  

Используем `MockMvc` для изолированного тестирования без поднятия контекста приложения. Для интеграционных тестов — `@SpringBootTest` с `TestRestTemplate`.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы