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

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

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

Добавление пакета локального эмулятора Firebase в рабочие процессы разработки.

Прежде чем вы начнете

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

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

Что такое пакет локального эмулятора Firebase?

Пакет локальных эмуляторов 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.
  • Ручные тесты : вы можете подключить работающее приложение к пакету локального эмулятора, чтобы протестировать приложение Firebase вручную, не рискуя производственными данными и не настраивая тестовый проект.
  • Оценки продуктов : вы можете устанавливать расширения Firebase и управлять ими в безопасной локальной среде и лучше понимать их возможности, минимизируя при этом расходы на выставление счетов.

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

Пакет Firebase Local Emulator Suite позволяет вам тестировать свой код с нашими основными продуктами на совместимость. Эмулятор облачных функций поддерживает функции HTTP, вызываемые функции и фоновые функции, запускаемые Cloud Firestore, базой данных реального времени, облачным хранилищем для Firebase, аутентификацией и Pub/Sub. Эмуляторы Cloud Firestore, базы данных реального времени и облачного хранилища для Firebase имеют встроенную эмуляцию правил безопасности Firebase.

Облако
Пожарная лавка
В реальном времени
База данных
Облако
Хранилище
для 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 — это предпочтительный набор инструментов для тестирования правил безопасности. Однако вы также можете использовать:

  • Игровая площадка правил, часть консоли Firebase. Rules Playground предоставляет отличную интерактивную возможность начать работу с разработкой правил безопасности. Дополнительную информацию см. в разделе Быстрая проверка правил безопасности Firebase .