Введение в пакет локального эмулятора Firebase

Firebase Local Emulator Suite — это набор расширенных инструментов для разработчиков, желающих создавать и тестировать приложения локально с использованием Cloud Firestore , Realtime Database , Cloud Storage for Firebase , Authentication , Firebase Hosting , Cloud Functions (бета), Pub/Sub (бета), и Firebase Extensions (бета). Он предоставляет богатый пользовательский интерфейс, который поможет вам быстро приступить к работе и созданию прототипов.

Локальная разработка с помощью Local Emulator Suite может хорошо подойти для ваших рабочих процессов оценки, прототипирования, разработки и непрерывной интеграции.

Добавление <span class= Пакет локального эмулятора Firebase для ваших рабочих процессов разработки.">

Прежде чем начать

Прежде чем приступить к изучению пакета локального эмулятора Firebase, мы рекомендуем вам ознакомиться с продуктами Firebase и моделью разработки Firebase:

  • Прочтите раздел «Начало работы с Firebase» для вашей платформы и продуктов ( Apple , Android или Интернет ).
  • Загрузите готовое к использованию приложение для быстрого запуска на выбранной вами платформе, затем прочитайте и выполните код. Приложение для быстрого запуска FriendlyEats — хороший выбор ( iOS , Android или веб-версия ).

Что такое Firebase Local Emulator Suite ?

Пакет локальных эмуляторов Firebase состоит из отдельных эмуляторов служб, созданных для точной имитации поведения служб Firebase. Это означает, что вы можете подключить свое приложение напрямую к этим эмуляторам для проведения интеграционного тестирования или контроля качества, не затрагивая производственные данные.

Например, вы можете подключить свое приложение к эмулятору Cloud Firestore , чтобы безопасно читать и записывать тестируемые документы. Эти записи могут запускать функции в эмуляторе Cloud Functions . Однако ваше приложение по-прежнему будет продолжать взаимодействовать с производственными сервисами Firebase, когда эмуляторы недоступны или настроены.

Emulator Suite в ваших локальных рабочих процессах

Ваш рабочий процесс прототипа и тестирования может использовать Local Emulator Suite несколькими способами:

  • Модульные тесты : используя Firebase Test SDK, вы можете писать модульные тесты в Node.js с помощью средства запуска тестов mocha. Test SDK предоставляет несколько удобных методов для загрузки правил безопасности, очистки локальной базы данных между тестами и управления синхронным взаимодействием с эмуляторами. Он отлично подходит для написания простых тестов взаимодействия с базой данных, которые не зависят от логики вашего приложения.
  • Интеграционные тесты : каждый отдельный эмулятор продукта в Emulator Suite отвечает на вызовы SDK и REST API так же, как и производственные сервисы Firebase. Таким образом, вы можете использовать свои собственные инструменты тестирования для написания автономных интеграционных тестов, в которых в качестве серверной части используется Local Emulator Suite .
  • Ручные тесты : вы можете подключить работающее приложение к Local Emulator Suite чтобы протестировать приложение Firebase вручную, не рискуя производственными данными и не настраивая тестовый проект.
  • Оценки продуктов : вы можете устанавливать Firebase Extensions и управлять ими в безопасной локальной среде и лучше понимать их возможности, минимизируя при этом расходы на выставление счетов.

Какие функции и платформы Firebase поддерживаются?

Пакет локального эмулятора Firebase позволяет вам тестировать ваш код с нашими основными продуктами на совместимость. Эмулятор Cloud Functions поддерживает функции HTTP, вызываемые функции и фоновые функции, запускаемые Cloud Firestore , Realtime Database , Cloud Storage for Firebase , Authentication и Pub/Sub . Эмуляторы Cloud Firestore , Realtime Database и Cloud Storage for Firebase имеют встроенную эмуляцию Firebase Security Rules .

Облако
Пожарная лавка
В реальном времени
База данных
Облако
Хранилище
для Firebase
Аутентификация Облако
Функции
Облако
Паб/Саб
Расширения
Android SDK н/д н/д
iOS SDK н/д н/д
Веб-SDK н/д н/д
SDK администратора Node.js н/д н/д

Следующие шаги

Другие инструменты для прототипирования и тестирования

Пакет Emulator Suite дополнен другими инструментами для создания прототипов и тестирования.

Инструменты тестирования облачных функций. Среда Firebase CLI предоставляет вам несколько способов прототипирования и тестирования функций:

  • Эмулятор Cloud Functions, входящий в состав Emulator Suite. Этот эмулятор совместим с локальными, актуальными данными и правилами безопасности в эмуляторе Firestore и/или эмуляторе базы данных реального времени.
  • Оболочка Cloud Functions, которая позволяет интерактивно итеративно создавать прототипы и разрабатывать функции. Для разработки оболочка использует эмулятор Cloud Functions с интерфейсом в стиле REPL. Интеграция с эмуляторами Cloud Firestore или Realtime Database не предусмотрена. Используя оболочку, вы имитируете данные и выполняете вызовы функций для имитации взаимодействия с продуктами, которые в настоящее время не поддерживаются Local Emulator Suite : Analytics, Remote Config и Crashlytics.
  • Firebase Test SDK для облачных функций — платформа Node.js с mocha для разработки функций. По сути, SDK Cloud Functions Test SDK обеспечивает автоматизацию поверх оболочки Cloud Functions.

Дополнительную информацию об оболочке Cloud Functions и SDK Cloud Functions Test SDK можно найти в разделах Тестирование функций в интерактивном режиме и Модульное тестирование облачных функций .

Инструменты тестирования правил безопасности. Emulator Suite — предпочтительный набор инструментов для тестирования правил безопасности. Однако вы также можете использовать: