Настройка разработки бэкенда¶
Эта страница перечисляет шаги, необходимые для начала разработки Gramps Web API, бэкенда (серверной компоненты) Gramps Web.
Предварительные требования¶
Рекомендуемая настройка разработки использует Visual Studio Code с devcontainers. Этот подход создаст предварительно настроенную среду разработки со всеми необходимыми инструментами. Для начала вам понадобятся следующие компоненты:
- Docker
- Visual Studio Code с установленным расширением Dev Containers
- Git
Вы можете использовать Linux, macOS или Windows в качестве операционной системы.
Начало работы¶
- Откройте репозиторий Gramps Web API и нажмите "fork"
- Клонируйте ваш форкнутый репозиторий на локальную машину с помощью Git
- Откройте клонированный репозиторий в Visual Studio Code. Когда появится запрос, выберите "Reopen in Container" или вручную откройте палитру команд (Ctrl+Shift+P или Cmd+Shift+P) и выберите "Dev Containers: Rebuild and Reopen in Container".
- Подождите, пока dev-контейнер будет собран и запущен. Это может занять несколько минут, особенно в первый раз.
Задачи¶
Если вы только модифицируете код бэкенда, вам не обязательно поднимать веб-сервер - модульные тесты используют тестовый клиент Flask, который позволяет имитировать запросы к API без необходимости в работающем сервере.
Тем не менее, запуск сервера полезен, если вы
- хотите протестировать ваши изменения с реальными HTTP-запросами (см. ручные запросы),
- хотите предварительно просмотреть влияние изменений на полное приложение Gramps Web, или
- также хотите одновременно вносить изменения в фронтенд (см. настройка разработки фронтенда).
Запуск сервера упрощен в dev-контейнере с помощью предопределенных задач. Вы можете запускать эти задачи из палитры команд (Ctrl+Shift+P или Cmd+Shift+P), выбрав "Tasks: Run Task", а затем выбрав одну из следующих: - "Serve Web API" - запускает сервер разработки Flask на порту 5555 с включенным отладочным логированием - "Start Celery worker" - запускает рабочий процесс Celery для обработки фоновых задач.
Отладка¶
Отладка иногда может быть сложной, особенно когда нужно проследить за сложным поведением или выявить тонкие проблемы. Чтобы упростить это, вы можете отлаживать как работающий экземпляр API, так и отдельные тестовые случаи непосредственно в Visual Studio Code.
Отладка Gramps Web API¶
Чтобы отладить работающий API:
- Откройте Visual Studio Code и перейдите в представление Запуск и отладка.
- Выберите конфигурацию "Web API" из выпадающего меню.
- Начните отладку.
- Когда вы отправляете запросы к бэкенду (либо вручную, либо через GUI Gramps Web), выполнение приостановится на любых точках останова, которые вы установили в коде.
Это позволяет вам проверять переменные, управлять потоком выполнения и другие детали выполнения.
Отладка тестовых случаев¶
Чтобы отладить конкретный тестовый случай:
- Откройте файл теста, который вы хотите отладить (например,
test_people.py). - В Visual Studio Code откройте представление Запуск и отладка.
- Выберите конфигурацию "Текущий тестовый файл".
- Начните отладку — выполнение остановится на любых точках останова, установленных в этом тестовом файле.
Эта настройка позволяет вам пошагово проходить через логику теста, проверять значения переменных и лучше понимать сбои тестов или неожиданные результаты.