Когда автотестов становится сотни, даже быстрый раннер не спасает. Но можно не ждать окончания каждого прогона — просто запустить несколько копий приложения и разделить нагрузку.
🈂️ Как это работает:
docker-compose up --scale app=5 -d
Команда запускает 5 независимых контейнеров одного сервиса. Каждый получит свой порт, а тесты можно распределить между ними.
🔢 Пример docker-compose.yml
services:
app:
image: myapp:latest
ports:
- "8080"
depends_on:
- db
db:
image: postgres:15
🗳 Как применить в тестах:
— Поднимите несколько инстансов через
--scale— Настройте раннер (например, pytest-xdist или robot --processes 5) для распределения
— Тесты стартуют параллельно → CI проходит в разы быстрее
🔥 Совет:
Добавьте --remove-orphans при рестарте, чтобы старые контейнеры не мешали.
🐸 Библиотека тестировщика
#тест_драйв
