Рубрики
Без рубрики

Запуск теста весенней загрузки через докер

Spring boot становится де-факто обычным явлением для написания микросервисов в экосистеме Java. У нас их очень много… Помечено как программирование, тестирование, java, докер.

Spring boot становится де-факто обычным явлением для написания микросервисов в экосистеме Java. У нас есть множество фреймворков и вариантов написания модульных и интеграционных тестов. Ниже приведены несколько ресурсов, которые я использовал в прошлом, чтобы улучшить свои навыки модульного тестирования

Мы не собираемся подробно обсуждать написание модульного тестирования. Но настройка необходимых вещей, которые позволяют нам самостоятельно писать сквозные тесты для наших приложений spring boot.

Предположение

Наше приложение будет представлять собой простой серверный сервис, подключенный к базе данных. В нашем случае давайте предположим, что это Postgres. В зависимости от архитектуры вашего приложения один и тот же шаблон может быть изменен. Ниже приведены типы тестов у нас есть

  • Тесты на уровне Контроллера
  • Тесты уровня обслуживания
  • Основная Бизнес-логика

Большую часть времени мы можем пропустить проверку нашего хранилища/уровня данных с помощью тестов в предположении, что все будет хорошо. Но если мы это сделаем, всегда полезно убедиться, что у нас не возникнет странных проблем с данными в процессе производства. Как я упоминал выше Тестовые контейнеры являются хорошим способом написания тестов, включая встроенные базы данных. Миграции схемы базы данных с ядром интегрированы в загрузку приложения. Для этого мы можем использовать такие инструменты, как flyway или liquibase .

Настройки

Для нашего приложения у нас должны быть следующие свойства src/test/java/ресурс/приложение.свойства для эффективного тестирования

Мы передали наши значения в качестве переменных env. Вы можете обратиться сюда

Базовое изображение

Создайте базовый образ для своих проектов и поместите его в какой-нибудь реестр. Либо концентратор докеров, либо все, к чему можно получить доступ. Пожалуйста, сохраняйте это базовое изображение минимальным, без каких-либо конфиденциальных деталей вашего проекта. Давайте предположим, что у нас есть базовый образ с именем orgname/base-spring boot

Нам понадобится файл docker-compose.yml , чтобы эта настройка работала от начала до конца. Ниже приведен компоновщик, который можно использовать для справки

Как проводить тесты?

Ниже приведена простая команда, которую можно использовать для запуска тестов

докер-составление -прерывание-на-контейнере-выход -выход-код-из application_under_test

Приведенная выше команда запускает базу данных, приложение и запускает тесты. Если тест провалился, он завершается. Ту же команду можно использовать и в конвейерах CI/CD. Чтобы ускорить процесс, базовое изображение должно быть построено со всеми общими зависимостями.

Оригинал: “https://dev.to/balaaagi/testing-spring-boot-apps-1ipe”