Начало работы с Firebase Local Emulator Suite

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

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

Добавление Firebase Emulator Suite в рабочие процессы разработки.

Подготовка

Прежде чем начать работу с Firebase Local Emulator Suite, рекомендуем ознакомиться с продуктами Firebase и моделью разработки Firebase.

  • Прочитайте статьи о том, как начать работу с Firebase на вашей платформе и в ваших продуктах (Apple, Android или веб).
  • Скачайте готовое к запуску приложение для быстрого старта на выбранной платформе, а затем прочитайте и выполните код. Приложение FriendlyEats Quickstart – хороший выбор (iOS, Android или веб-версия).

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

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

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

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

Local Emulator Suite можно использовать для создания прототипов и тестирования несколькими способами:

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

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

Firebase Local Emulator Suite позволяет тестировать код с нашими основными продуктами. Эмулятор 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.

Cloud
Firestore
В реальном времени
База данных
Cloud
Storage
for Firebase
Аутентификация Cloud
Functions
Cloud
Pub/Sub
Расширения
Android SDK Н/Д Н/Д
iOS SDK Н/Д Н/Д
Web SDK Н/Д Н/Д
Node.js Admin SDK Н/Д Н/Д

Дальнейшие действия

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

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

Инструменты тестирования Cloud Functions. Интерфейс командной строки Firebase позволяет создавать прототипы и тестировать функции несколькими способами:

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

Подробную информацию об оболочке Cloud Functions и Cloud Functions Test SDK можно найти в статьях Интерактивное тестирование функций и Модульное тестирование Cloud Functions.

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