Как локально протестировать приложения Gol App Engine на Win 10 и использовать app.yaml - PullRequest
0 голосов
/ 31 марта 2020

В последних документах Google говорят, что для локального тестирования Go 1.12+ приложений нужно просто go построить.

Однако это не учитывает всю маршрутизацию и c это может произойти в ядре приложения, использующем файл конфигурации app.yaml.

Я вижу, что файл dev_appserver.py по-прежнему включен в SDK. Но, похоже, он не работает в Windows 10.

. Как можно локально протестировать приложение Go App Engine с помощью app.yaml. ie: как актуальный эмулированный движок приложения.

Спасибо!

1 Ответ

1 голос
/ 01 апреля 2020

С одной стороны, если ваше приложение состоит только из службы по умолчанию, я бы рекомендовал следовать предложению @ cerise-limón. В общем случае рекомендуется, чтобы логики маршрутизации c приложения обрабатывались в коде. Хотя я не программист Go, для приложений с одним сервисом, которые используют static_files и static_dir, не должно быть проблем при локальном тестировании приложения. Вы также можете развернуть новую версию, не рекламируя traffi c, чтобы протестировать ее, как объяснено здесь .

С другой стороны, если ваше приложение распределено по нескольким службам и маршрутизация управляется с помощью файла конфигурации dispatch.yaml , который можно использовать двумя способами:

  • Проверять каждую службу локально по одному. Это может быть путь к go, если каждая служба имеет одну ответственность / функциональность, которую можно тестировать отдельно от других служб. Фактически, с такой архитектурой процедура тестирования будет более или менее такой же, как и для приложений с одним сервисом.
  • Запуск всех сервисов локально одновременно и создание собственного уровня маршрутизации. Эта опция позволит тестировать приложения, в которых сервисы должны связываться друг с другом, чтобы выполнить запросы, которые к ним обращаются.

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

...