Обложка канала

Типа про IT

1563 @tipaproit

Типа про IT и вот это вот всё — full stack development и современные инструменты, подборки и рекомендации, интересные находки и практические советы. Профессиональный авторский контент.

Типа про IT

4 года назад
Открыть в
⚒️ Обычная ситуация, когда для локального прогона системных тестов поднимается связка из баз данных и прочих сервисов средствами docker compose. Перед запуском нужно “апнуть” контейнеры, дождаться их живого состояния и только потом запустить сами тесты, для чего есть bash-скрипт или makefile (или оба сразу) с каким-нибудь с потолка взятым sleep между вызовами, чтоб уж наверняка. Я не знаю как принято решать эту проблему в прогрессивном обществе, но и sleep в минуту это как-то слишком. Поэтому мы тут у себя в команде используем простой, но эффективный wait-for-it. Выглядит примерно так:
 1. docker-compose up хуё-моё
 2. poetry run wait-for-it \
    --parallel \
    --timeout 240 \
    --service postgres:5432 \
    --service exasol:8563 \
    -- echo "postgres and exasol are up and running"
 3. poetry run pytest -s systests
Скрипт, разумеется, блокирующий, в этом весь смысл.