1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-GoAlert

Клонировать/Скачать
development-setup.md 6.6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 10:08 4f04d2c

Настройка разработки

Данное руководство предполагает, что у вас установлены команды podman (или docker), go (>= 1.21), node (>= 16.10) и make.

Цели вроде make start автоматически переключатся на команду docker, если podman недоступен. Команду инструмента контейнера можно переопределить, установив переменную CONTAINER_TOOL.

Если вы используете Visual Studio Code, запустите make vscode, чтобы настроить интеграции для проекта.

# принудительно использовать podman
make start CONTAINER_TOOL=podman

# принудительно использовать docker
make start CONTAINER_TOOL=docker

Кроссплатформенные образы

Для создания кроссплатформенных образов контейнеров вам потребуется установить qemu-user-static.

При использовании MacOS с podman вы можете сделать это с помощью следующих одноразовых команд:

podman machine ssh sudo rpm-ostree install qemu-user-static
podman machine ssh sudo systemctl reboot

Внешний трафик

Чтобы выполнить локальную разработку с внешним трафиком, вам понадобится публично маршрутизируемый URL, и вы можете запустить localdev с установленным PUBLIC_URL. Например:

make start PUBLIC_URL=http://localdev.example.com

Вы можете добавить дополнительные команды запуска в файл Procfile.local, чтобы они автоматически запускались с make start и аналогичными командами.

ngrok: ngrok http -subdomain=localdev 3030

База данных (PostgreSQL)

GoAlert создан и протестирован на Postgres 13. Версия 11+ должна работать на момент написания статьи.

Самый простой способ настроить Postgres для разработки — запустить make postgres. Вы можете подключиться к локальной БД по адресу postgres://goalert@localhost:5432/goalert (без пароля). Это запустит контейнер с правильной конфигурацией для среды разработки.

Ручная настройка

Если у вас уже запущен Postgres, вы можете создать роль goalert.

CREATE ROLE goalert WITH LOGIN SUPERUSER;

В настоящее время пользователь dev должен быть суперпользователем, чтобы включить pgcrypto с CREATE EXTENSION.

Требования к инструментарию

  • Для первого запуска запустите make regendb, чтобы перенести данные и добавить тестовые данные в БД (вы также можете масштабировать количество случайных данных с помощью SIZE, например make regendb SIZE=10). Сюда входит добавление администратора admin/admin123.
  • Чтобы запустить GoAlert в режиме разработки, запустите make start.
  • Чтобы собрать двоичный файл GoAlert, запустите make bin/goalert BUNDLE=1.

Автоматизированные тесты браузера

Тесты Cypress

Чтобы запустить автоматизированные тесты браузера, вы можете запустить Cypress в одном из следующих режимов:

  • make cy-wide Широкоформатный режим, в режиме разработчика.
  • make cy-mobile Мобильный формат, в режиме разработчика.
  • make cy-wide-prod Широкоформатный формат, производственная сборка.
  • make cy-mobile-prod Мобильный формат, производственная сборка.
  • make cy-wide-prod-run Широкоформатный формат, производственная сборка в безголовом режиме.
  • make cy-mobile-prod-run Мобильный формат, производственная сборка в безголовом режиме.

Пользовательский интерфейс Cypress должен запускаться автоматически.

Более подробную информацию о тестах браузера можно найти здесь.

Тесты Playwright

Чтобы запустить автоматизированные браузерные тесты, вы можете запустить Playwright в одном из следующих режимов:

  • make playwright-ui Запустить все тесты в режиме пользовательского интерфейса.
  • make playwright-run Запустите все тесты в безголовом режиме.

Запуск дымовых тестов

Набор функциональных/поведенческих тестов поддерживается для бэкэнд-кода. Они проверяют различные API и поведение серверного компонента GoAlert.

Запустите полный набор с make test-smoke.

Более подробную информацию о дымовых тестах можно найти здесь.

Выполнение модульных тестов

Все модульные тесты можно запустить с помощью make test-unit.

Модульные тесты пользовательского интерфейса находятся в каталоге файла, который тестируется, с тем же именем файла, добавленным .test.js. Их можно запускать независимо от модульных тестов Go с помощью make jest. Режим наблюдения можно включить с помощью make jest JEST_ARGS=--watch.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-GoAlert.git
git@api.gitlife.ru:oschina-mirror/mirrors-GoAlert.git
oschina-mirror
mirrors-GoAlert
mirrors-GoAlert
master