Классы и Аннотации 1 Flashcards

1
Q

Аннотация @SpringBootTest

A

@SpringBootTest — это аннотация в Spring, которая используется для написания интеграционных тестов в приложениях на базе Spring Boot.
Она настраивает тестовый контекст приложения и запускает полный Spring Boot контейнер.
Аннотация позволяет тестировать не отдельные компоненты (как в модульных тестах), а все приложение целиком, с учетом конфигурации, компонентов, сервисов и доступа к базе данных.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Основные особенности @SpringBootTest

A
  • Запуск полного контекста приложения:
    приложение стартует так, как если бы оно было запущено в реальной среде.
  • Поддержка различных типов тестов:
    можно настроить аннотацию для тестирования различных слоев, например, с помощью @WebEnvironment, чтобы тестировать только веб-слой или полный стек.
  • Использование с MockMvc или TestRestTemplate:
    можно интегрировать с тестовыми утилитами для проверки HTTP-запросов/ответов.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Аннотация
@AutoConfigureMokMvc

A

@AutoConfigureMockMvc — это аннотация в Spring Boot, которая автоматически настраивает MockMvc для тестирования веб-слоя приложения без необходимости запускать полный веб-сервер.
Она используется в сочетании с @SpringBootTest для написания интеграционных тестов контроллеров, позволяя тестировать HTTP-запросы и ответы, валидировать данные и взаимодействовать с контроллерами.
Это удобный инструмент для быстрого и эффективного тестирования REST API и веб-контроллеров в приложениях Spring Boot.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Основные особенности
@AutoConfigureMokMvc

A
  • MockMvc настройка:
    Автоматически конфигурирует объект MockMvc, который можно использовать для отправки запросов к контроллерам и проверки результатов (например, статус ответа, тело, заголовки).
  • Без запуска веб-сервера:
    В отличие от тестирования с реальным сервером, используется мок механизм, что делает тесты быстрее.
  • Тестирование веб-слоя:
    Позволяет фокусироваться на тестировании контроллеров, фильтров, маппингов и других компонентов, связанных с веб-слоем.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Класс MockMvc

A

MockMvc - это класс в Spring, который используется для тестирования веб-контроллеров, не поднимая реальный сервер. Он позволяет эмулировать HTTP-запросы к контроллерам и проверять ответы, что делает тесты быстрее и более управляемыми.
С помощью MockMvc можно имитировать различные HTTP-запросы (GET, POST, PUT, DELETE), проверять статус ответа, содержимое тела, заголовки и другие параметры.
- Быстрота:
Поскольку не требуется запуск веб-сервера, тесты проходят быстрее.
- Гибкость:
Позволяет тестировать поведение контроллеров в изолированной среде.
- Проверка безопасности:
Легко интегрируется с Spring Security для проверки защиты конечных точек.

MockMvc — это мощный инструмент для тестирования REST API и других аспектов веб-слоя Spring-приложений без необходимости запускать сервер, что делает процесс тестирования быстрым и эффективным.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Основные особенности класса MockMvc

A
  • Тестирование веб-контроллеров:
    Позволяет тестировать контроллеры без запуска веб-сервера.
  • Эмуляция HTTP-запросов:
    Можно отправлять запросы к контроллерам и проверять результаты (например, код ответа, содержимое JSON, заголовки).
  • Интеграция с Spring Security:
    Можно имитировать аутентификацию и авторизацию в тестах.
  • Гибкость проверки:
    Можно проверять различные параметры ответа, такие как тело JSON, HTML-контент, код статуса, заголовки и куки.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Основные методы класса MockMvc

A
  • perform():
    выполняет запрос (например, get(), post(), put(), delete()).
  • andExpect():
    проверяет результаты запроса (статус ответа, тело, заголовки).
  • jsonPath():
    проверяет значения в JSON-ответах.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Класс ObjectMapper

A

ObjectMapper — это основной класс из библиотеки Jackson, который используется для сериализации и десериализации объектов Java в различные форматы данных (например, JSON) и обратно.
Это ключевой компонент для работы с JSON в Spring-приложениях и других Java-приложениях.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Основные методы Класса ObjectMapper

A
  • writeValueAsString():
    Преобразует объект Java в строку JSON.
  • readValue():
    Преобразует строку JSON обратно в объект Java.
  • writeValue():
    Записывает объект в указанный файл или поток как JSON.
  • readTree():
    Читает JSON и преобразует его в дерево (объект JsonNode), которым можно манипулировать как объектом JSON.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly