Introducción al conjunto de herramientas del emulador local de Firebase

Firebase Local Emulator Suite es un conjunto de herramientas avanzadas para los desarrolladores que buscan compilar y probar apps de forma local con Cloud Firestore, Realtime Database, Cloud Storage para Firebase, Authentication, Firebase Hosting, Cloud Functions (beta), Pub/Sub (beta) y Extensiones de Firebase (beta). Además, proporciona una interfaz de usuario enriquecida para ayudarte a ejecutar tus soluciones y prototiparlas con rapidez.

El desarrollo local con Local Emulator Suite puede ser una buena opción para tus evaluaciones, flujos de trabajo de prototipado, integración continua y desarrollo.

Agrega Firebase Local Emulator Suite a tus flujos de trabajo de desarrollo.

Antes de comenzar

Antes de explorar Firebase Local Emulator Suite, recomendamos que te familiarices con los productos y el modelo de desarrollo de Firebase:

  • Consulta los temas de la sección Primeros pasos con Firebase correspondientes a tu plataforma y tus productos (Apple, Android o la Web).
  • Descarga una app de inicio rápido lista para ejecutarse en la plataforma que elijas y procede a leer y ejecutar el código. La app de inicio rápido de FriendlyEats es una buena opción (iOS, Android o Web).

¿Qué es Firebase Local Emulator Suite?

Firebase Local Emulator Suite se compone de emuladores de servicios individuales compilados para imitar con precisión el comportamiento de los servicios de Firebase. Esto significa que puedes conectar tu app directamente a estos emuladores para realizar pruebas de integración o controles de calidad sin manipular los datos de producción.

Por ejemplo, puedes conectar una app al emulador de Cloud Firestore para realizar operaciones de lectura y escritura en documentos de forma segura en un entorno de prueba. Estas operaciones de escritura pueden activar funciones en el emulador de Cloud Functions. Sin embargo, tu app seguirá comunicándose con los servicios de producción de Firebase cuando los emuladores no estén disponibles o no estén configurados.

Emulator Suite en tus flujos de trabajo locales

Puedes usar Local Emulator Suite en tus flujos de trabajo de creación de prototipos y de pruebas de las siguientes maneras:

  • Pruebas de unidades: Con el SDK de Firebase Test, puedes escribir este tipo de pruebas en Node.js mediante el ejecutor de pruebas de Mocha. El SDK de Test proporciona varios métodos convenientes para cargar reglas de seguridad, vaciar la base de datos local entre pruebas y administrar la interacción síncrona con los emuladores. Es ideal para escribir pruebas simples de interacciones entre bases de datos que no dependen de la lógica de la app.
  • Pruebas de integración: Cada emulador de producto en Emulator Suite responde a las llamadas a la API de REST y del SDK del mismo modo que los servicios de producción de Firebase. Por lo tanto, puedes usar tus propias herramientas para escribir pruebas de integración independientes que usen Local Emulator Suite como backend.
  • Pruebas manuales: Puedes conectar tu aplicación en ejecución a Local Emulator Suite para probar manualmente la app de Firebase, sin poner en riesgo los datos de producción ni configurar un proyecto de prueba.
  • Evaluaciones de productos: Puedes instalar y administrar Extensiones de Firebase en un entorno local seguro y comprender mejor sus funciones y, al mismo tiempo, minimizar los costos de facturación.

¿Qué funciones y plataformas de Firebase son compatibles?

Con Firebase Local Emulator Suite, puedes probar tu código con nuestros productos principales de forma interoperable. El emulador de Cloud Functions es compatible con funciones de HTTP, funciones que admiten llamadas y funciones en segundo plano activadas por Cloud Firestore, Realtime Database, Cloud Storage para Firebase, Authentication y Pub/Sub. Los emuladores de Cloud Firestore, Realtime Database y Cloud Storage para Firebase tienen integrada la emulación de reglas de seguridad de Firebase.

Cloud
Firestore
Realtime
Database
Cloud
Storage
para Firebase
Authentication Cloud
Functions
Cloud
Pub/Sub
Extensiones
SDK de Android N/A N/A
SDK de iOS N/A N/A
SDK web N/A N/A
SDK de Admin de Node.js N/A N/A

Próximos pasos

Otras herramientas para crear prototipos y realizar pruebas

Emulator Suite se complementa con otras herramientas de prototipado y pruebas.

Herramientas de prueba de Cloud Functions. El entorno de Firebase CLI te ofrece varias formas de crear prototipos y probar funciones:

  • El emulador de Cloud Functions, que forma parte de Emulator Suite. Este emulador cuenta con interoperabilidad entre datos locales activos y reglas de seguridad en el emulador de Firestore o en el de Realtime Database.
  • La shell de Cloud Functions, que permite el prototipado y el desarrollo de funciones interactivas e iterativas. La shell utiliza el emulador de Cloud Functions con una interfaz de estilo REPL para llevar a cabo el desarrollo. No se proporciona ninguna integración en los emuladores de Cloud Firestore o Realtime Database. Con la shell, puedes simular datos y realizar llamadas a funciones para imitar la interacción con productos que Local Emulator Suite no admite actualmente, como Analytics, Remote Config y Crashlytics.
  • El SDK de Firebase Test para Cloud Functions, un framework de Node.js con Mocha para desarrollar funciones. Cuando se implementa, el SDK de Firebase Test para Cloud Functions proporciona automatización sobre la shell de Cloud Functions.

Puedes encontrar más información sobre la shell de Cloud Functions y el SDK de Firebase Test para Cloud Functions en Prueba funciones de forma interactiva y Prueba de unidades de Cloud Functions.

Herramientas para probar reglas de seguridad. Emulator Suite es el conjunto de herramientas preferido para probar las reglas de seguridad. Sin embargo, también puedes usar alguno de los siguientes:

  • La Zona de pruebas de reglas, que forma parte de Firebase console. La Zona de pruebas de reglas proporciona una excelente experiencia interactiva para comenzar a familiarizarse con el diseño de las reglas de seguridad. Consulta Valida con rapidez las reglas de seguridad de Firebase para obtener más información.