Добавить в корзинуПозвонить
Найти в Дзене
Java

📌 Тестировать Spring Boot контроллеры можно без запуска сервера

Аннотация @AutoConfigureMockMvc автоматически настраивает MockMvc в тестовом контексте и позволяет отправлять HTTP-запросы напрямую через Spring. @SpringBootTest @AutoConfigureMockMvc class UserControllerTest { @Autowired private MockMvc mockMvc; @Test void shouldReturnUser() throws Exception { mockMvc.perform(get("/users/1")) .andExpect(status().isOk()) .andExpect(jsonPath("$.id").value(1)); } } Что происходит под капотом: - @SpringBootTest поднимает полный контекст приложения - @AutoConfigureMockMvc настраивает MockMvc - Tomcat не запускается - Запросы проходят через DispatcherServlet внутри приложения Результат: - тесты работают быстрее - нет сетевых накладных расходов - проверяется реальный Spring pipeline Идеальный вариант для быстрых и надёжных controller-тестов.

📌 Тестировать Spring Boot контроллеры можно без запуска сервера.

Аннотация @AutoConfigureMockMvc автоматически настраивает MockMvc в тестовом контексте и позволяет отправлять HTTP-запросы напрямую через Spring.

@SpringBootTest

@AutoConfigureMockMvc

class UserControllerTest {

@Autowired

private MockMvc mockMvc;

@Test

void shouldReturnUser() throws Exception {

mockMvc.perform(get("/users/1"))

.andExpect(status().isOk())

.andExpect(jsonPath("$.id").value(1));

}

}

Что происходит под капотом:

- @SpringBootTest поднимает полный контекст приложения

- @AutoConfigureMockMvc настраивает MockMvc

- Tomcat не запускается

- Запросы проходят через DispatcherServlet внутри приложения

Результат:

- тесты работают быстрее

- нет сетевых накладных расходов

- проверяется реальный Spring pipeline

Идеальный вариант для быстрых и надёжных controller-тестов.