Save the date - Google I/O returns May 18-20. Register to get the most out of the digital experience: Build your schedule, reserve space, participate in Q&As, earn Google Developer profile badges, and more. Register now

Введение в Firebase Local Emulator Suite

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

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

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

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

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

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

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

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

Например, вы можете подключить свое приложение к эмулятору Cloud Firestore для безопасного чтения и записи документов при тестировании. Эти записи могут запускать функции в эмуляторе облачных функций. Однако ваше приложение по-прежнему будет взаимодействовать с производственными службами 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 поддерживаются?

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

Облако
Пожарный магазин
В реальном времени
База данных
Аутентификация Облако
Функции
Облако
Pub / Sub
Android SDK н / д
SDK для iOS н / д
Веб-SDK н / д
Административный SDK для Node.js н / д

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

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

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

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

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

Дополнительные сведения об оболочке облачных функций и SDK для тестирования облачных функций можно найти в разделе « Интерактивное тестирование» и « Модульное тестирование облачных функций» .

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

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