Présentation de la suite d'émulateurs locaux Firebase

Firebase Local Emulator Suite est un ensemble d'outils avancés destinés aux développeurs qui souhaitent créer et tester des applications en local à l'aide de Cloud Firestore, Realtime Database, Cloud Storage for Firebase, Authentication, Firebase Hosting, Cloud Functions (bêta), Pub/Sub (bêta) et Firebase Extensions (bêta). Il fournit une interface utilisateur riche pour vous aider à démarrer et à créer des prototypes rapidement.

Le développement local avec la suite d'émulateurs locaux peut être un bon choix pour vos workflows d'évaluation, de prototypage, de développement et d'intégration continue.

Ajouter la suite d'émulateurs Firebase à vos workflows de développement.

Avant de commencer

Avant d'explorer la suite d'émulateurs locaux Firebase, nous vous recommandons de vous familiariser avec les produits Firebase et le modèle de développement Firebase :

  • Consultez les rubriques Premiers pas avec Firebase pour votre plate-forme et vos produits (Apple, Android ou Web).
  • Téléchargez une application de démarrage prête à l'emploi sur la plate-forme de votre choix, puis lisez et exécutez le code. L'application de démarrage rapide FriendlyEats est un bon choix (iOS, Android ou Web).

Qu'est-ce que Firebase Local Emulator Suite ?

La suite d'émulateurs locaux Firebase se compose d'émulateurs de services individuels conçus pour imiter précisément le comportement des services Firebase. Cela signifie que vous pouvez connecter votre application directement à ces émulateurs pour effectuer des tests d'intégration ou d'assurance qualité sans toucher aux données de production.

Par exemple, vous pouvez connecter votre application à l'émulateur Cloud Firestore pour lire et écrire des documents en toute sécurité lors des tests. Ces écritures peuvent déclencher des fonctions dans l'émulateur Cloud Functions. Toutefois, votre application continuera de communiquer avec les services Firebase de production lorsque les émulateurs ne seront pas disponibles ni configurés.

Suite d'émulateurs dans vos workflows locaux

Votre workflow de prototypage et de test peut utiliser la suite d'émulateurs locaux de plusieurs manières :

  • Tests unitaires : à l'aide du SDK Firebase Test, vous pouvez écrire des tests unitaires dans Node.js à l'aide du programme d'exécution de tests Mocha. Le SDK de test fournit plusieurs méthodes pratiques pour charger les règles de sécurité, vider la base de données locale entre les tests et gérer l'interaction synchrone avec les émulateurs. Il est idéal pour écrire des tests simples pour les interactions avec la base de données qui ne dépendent pas de la logique de votre application.
  • Tests d'intégration : chaque émulateur de produit individuel de la suite d'émulateurs répond aux appels d'API REST et de SDK comme les services Firebase de production. Vous pouvez donc utiliser vos propres outils de test pour écrire des tests d'intégration autonomes qui utilisent Local Emulator Suite comme backend.
  • Tests manuels : vous pouvez connecter votre application en cours d'exécution à Local Emulator Suite pour tester manuellement votre application Firebase, sans risquer d'endommager les données de production ni configurer un projet de test.
  • Évaluations de produits : vous pouvez installer et gérer Firebase Extensions dans un environnement local sécurisé, et mieux comprendre leurs capacités tout en minimisant les coûts de facturation.

Quelles sont les fonctionnalités et plates-formes Firebase compatibles ?

La suite d'émulateurs locaux Firebase vous permet de tester votre code avec nos principaux produits de manière interopérable. L'émulateur Cloud Functions est compatible avec les fonctions HTTP, les fonctions appelables et les fonctions d'arrière-plan déclenchées par Cloud Firestore, Realtime Database, Cloud Storage for Firebase, Authentication et Pub/Sub. Les émulateurs Cloud Firestore, Realtime Database et Cloud Storage for Firebase sont dotés d'une émulation Firebase Security Rules intégrée.

Cloud
Firestore
Realtime
Database
Cloud
Storage
for Firebase
Authentification Cloud 
Functions
Cloud 
Pub/Sub
Extensions
SDK Android N/A N/A
SDK iOS N/A N/A
SDK Web N/A N/A
SDK Admin Node.js N/A N/A

Étapes suivantes

Autres outils de prototypage et de test

La suite d'émulateurs est complétée par d'autres outils de prototypage et de test.

Outils de test Cloud Functions L'environnement de la CLI Firebase vous offre plusieurs façons de prototyper et de tester des fonctions :

  • Émulateur Cloud Functions, qui fait partie de la suite d'émulateurs. Cet émulateur est interopérable avec les données locales et en direct, ainsi qu'avec les règles de sécurité dans l'émulateur Firestore et/ou l'émulateur Realtime Database.
  • Le shell Cloud Functions, qui permet le prototypage et le développement interactifs et itératifs de fonctions. Le shell utilise l'émulateur Cloud Functions avec une interface de type REPL pour le développement. Aucune intégration avec les émulateurs Cloud Firestore ou Realtime Database n'est fournie. À l'aide du shell, vous simulez des données et effectuez des appels de fonction pour simuler une interaction avec des produits que Local Emulator Suite ne prend pas en charge actuellement : Analytics, Remote Config et Crashlytics.
  • Le SDK Firebase Test pour Cloud Functions, un framework Node.js avec mocha pour le développement de fonctions. En fait, le SDK de test Cloud Functions fournit une automatisation au-dessus du shell Cloud Functions.

Pour en savoir plus sur le shell Cloud Functions et le SDK de test Cloud Functions, consultez Tester des fonctions de manière interactive et Tests unitaires de Cloud Functions.

Outils de test des règles de sécurité La suite Emulator est l'ensemble d'outils privilégié pour tester les règles de sécurité. Toutefois, vous pouvez également utiliser :

  • L'espace de test dédié aux règles, qui fait partie de la console Firebase. L'atelier de règles offre une excellente expérience interactive pour vous familiariser avec la conception des règles de sécurité. Pour en savoir plus, consultez Valider rapidement les règles de sécurité Firebase.