Sobes.tech
Назад к вопросам
Junior — Middle
66

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

Компании, где спрашивали
AstonAston

Ответ от нейросети

sobes.tech AI

Для тестирования 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-запросов и проверку ответов, что позволяет проверить логику контроллера и его взаимодействие с сервисами.