Introduction à la suite d'émulateurs locaux Firebase

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

Le développement local avec Local Emulator Suite peut être une bonne solution pour vos flux de travail d'évaluation, de prototypage, de développement et d'intégration continue.

Ajout de Firebase Local Emulator Suite à vos flux de travail de développement.

Avant que tu commences

Avant d'explorer Firebase Local Emulator Suite, nous vous recommandons de vous orienter vers les produits Firebase et le modèle de développement Firebase :

  • Lisez 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 rapide prête à l'emploi sur la plateforme 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 la suite d'émulateurs locaux Firebase ?

La suite d'émulateurs locaux Firebase se compose d'émulateurs de services individuels conçus pour imiter avec précision le comportement des services Firebase. Cela signifie que vous pouvez connecter votre application directement à ces émulateurs pour effectuer des tests d'intégration ou un contrôle 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. Cependant, votre application continuera à communiquer avec les services Firebase de production lorsque les émulateurs ne seront pas disponibles ou configurés.

Emulator Suite dans vos flux de travail locaux

Votre prototype et votre workflow de test peuvent 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 lanceur de tests mocha. Le SDK de test fournit plusieurs méthodes pratiques pour charger des règles de sécurité, vider la base de données locale entre les tests et gérer l'interaction synchrone avec les émulateurs. C'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 Emulator répond aux appels du SDK et de l'API REST, tout 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 à la suite d'émulateur local pour tester votre application Firebase manuellement, sans risquer les données de production ni configurer un projet de test.
  • Évaluations de produits : vous pouvez installer et gérer les extensions Firebase dans un environnement local sécurisé et mieux comprendre leurs capacités tout en minimisant les coûts de facturation.

Quelles fonctionnalités et plates-formes Firebase sont prises en charge ?

La suite Firebase Local Emulator vous permet de tester votre code avec nos produits principaux de manière interopérable. L'émulateur Cloud Functions prend en charge 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 pour Firebase intègrent l'émulation des règles de sécurité Firebase.

Nuage
Firestore
Temps réel
Base de données
Nuage
Stockage
pour Firebase
Authentification Nuage
Les fonctions
Nuage
Pub/Sous
Rallonges
SDK Android n / A n / A
SDK iOS n / A n / A
SDK Web n / A n / A
SDK d'administration Node.js n / A n / A

Prochaines étapes

Autres outils de prototypage et de test

La suite Emulator est complétée par d'autres outils de prototypes et de tests.

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

  • L'émulateur Cloud Functions, qui fait partie de la suite Emulator. Cet émulateur est interopérable avec les données locales en direct et les règles de sécurité de l'émulateur Firestore et/ou de l'émulateur de base de données en temps réel.
  • Le shell Cloud Functions, qui permet le prototypage et le développement de fonctions interactives et itératives. Le shell utilise l'émulateur Cloud Functions avec une interface de style 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 la suite Local Emulator ne prend actuellement pas en charge : Analytics, Remote Config et Crashlytics.
  • Le SDK de test Firebase pour Cloud Functions, un framework Node.js avec moka pour le développement de fonctions. En effet, le SDK de test Cloud Functions fournit une automatisation au-dessus du shell Cloud Functions.

Vous pouvez en savoir plus sur le shell Cloud Functions et le SDK de test Cloud Functions dans Tester les fonctions de manière interactive et Test unitaire de Cloud Functions .

Outils de test des règles de sécurité. Emulator Suite est l'ensemble d'outils préféré pour tester les règles de sécurité. Cependant, vous pouvez également utiliser :

  • The Rules Playground, une partie de la console Firebase. Le Rules Playground offre une excellente expérience interactive de démarrage avec la conception de règles de sécurité. Pour plus d'informations, consultez Valider rapidement les règles de sécurité Firebase .