Встречается на собеседованиях • сегодня
Пишешь ли тесты на контроллеры
Да, тесты на контроллеры писать необходимо. Они проверяют корректность обработки 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`.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы