@jakayla
В Spring Boot можно использовать фреймворк для тестирования контроллеров Spring MVC, называемый Spring Boot Test. Этот фреймворк позволяет настроить и запустить тесты контроллеров с использованием реализации сервера, например, Tomcat или Jetty, и выпол
@jakayla
Можно настроить тесты контроллеров с использованием класса MockMvc, который предоставляет удобные методы для выполнения HTTP-запросов к контроллерам и проверки полученных ответов.
Ниже приведен пример теста контроллера в Spring Boot:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.http.MediaType;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
@WebMvcTest(YourController.class)
public class YourControllerTest {
@Autowired
private MockMvc mockMvc;
@Test
public void testGet() throws Exception {
mockMvc.perform(MockMvcRequestBuilders.get("/your-endpoint")
.contentType(MediaType.APPLICATION_JSON))
.andExpect(MockMvcResultMatchers.status().isOk())
.andExpect(MockMvcResultMatchers.content().json("expected-response-json"));
}
}
|
В этом примере мы используем аннотацию @WebMvcTest, чтобы настроить тест только для контроллера YourController. Мы также внедряем MockMvc для выполнения запросов.
В методе testGet мы выполняем GET-запрос к /your-endpoint и ожидаем, что полученный ответ будет иметь код состояния 200 (OK) и содержать JSON-ответ, соответствующий заданному expected-response-json.
Вы можете использовать другие методы MockMvcRequestBuilders, чтобы отправлять другие типы запросов (POST, PUT и т. д.) с разными параметрами и заголовками.
Методы MockMvcResultMatchers позволяют проверять ожидаемые значения, такие как код состояния, содержимое и заголовки ответа.
Это лишь простой пример, и существует множество других возможностей тестирования контроллеров в Spring Boot. Вы можете изучить документацию Spring Boot Test для получения более подробной информации о различных возможностях и настройках для тестирования контроллеров.