Catch up on everthing we announced at this year's Firebase Summit. Learn more

Введение в 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 темы для вашей платформы и продуктов ( Apple , , Android или веб ).
  • Загрузите готовое к запуску приложение для быстрого запуска на выбранной вами платформе, затем прочтите и выполните код. FriendlyEats QUICKSTART приложение является хорошим выбором ( IOS , Android или Web ).

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

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

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

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

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

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

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

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

Вы можете узнать больше о функциях Облака оболочки и Облако функция Test SDK на тестовых функциях в интерактивном режиме и блок тестирования облачных функций .

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

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