Каким образом вы взаимодействовали с Spring Controller при выполнении тестов?

Для тестирования Spring Controller часто используют MockMvc — это удобный инструмент из Spring Test, который позволяет выполнять HTTP-запросы к контроллеру без запуска полноценного сервера.

Короткий ответ

Что ответить на собеседовании

Для тестирования Spring Controller часто используют MockMvc — это удобный инструмент из Spring Test, который позволяет выполнять HTTP-запросы к контроллеру без запуска полноценного сервера.

Подробный разбор

Ответ с пояснениями

Для тестирования Spring Controller часто используют MockMvc — это удобный инструмент из Spring Test, который позволяет выполнять HTTP-запросы к контроллеру без запуска полноценного сервера.

Пример использования MockMvc:

@RunWith(SpringRunner.class)
@WebMvcTest(MyController.class)
public class MyControllerTest {

    @Autowired
    private MockMvc mockMvc;

    @Test
    public void testGetEndpoint() throws Exception {
        mockMvc.perform(get("/api/resource"))
               .andExpect(status().isOk())
               .andExpect(content().string("expected response"));
    }
}

Также можно использовать @WebMvcTest для загрузки только слоя веба, что ускоряет тесты. Для интеграционных тестов с полным контекстом можно применять @SpringBootTest вместе с TestRestTemplate или WebTestClient.

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

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее