Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Einführung in die Firebase Local Emulator Suite

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Die Firebase Local Emulator Suite ist eine Reihe fortschrittlicher Tools für Entwickler, die Apps lokal mit Cloud Firestore, Echtzeitdatenbank, Cloud-Speicher für Firebase, Authentifizierung, Firebase-Hosting, Cloud-Funktionen (Beta), Pub/Sub (Beta) erstellen und testen möchten. und Firebase-Erweiterungen (Beta). Es bietet eine reichhaltige Benutzeroberfläche, mit der Sie schnell loslegen und Prototypen erstellen können.

Die lokale Entwicklung mit der Local Emulator Suite kann sich gut für Ihre Evaluierungs-, Prototyping-, Entwicklungs- und Continuous-Integration-Workflows eignen.

Hinzufügen der Firebase Local Emulator Suite zu Ihren Entwicklungsworkflows.

Bevor Sie beginnen

Bevor Sie die Firebase Local Emulator Suite erkunden, empfehlen wir Ihnen, sich an den Firebase-Produkten und dem Firebase-Entwicklungsmodell zu orientieren:

  • Lesen Sie die Themen Erste Schritte mit Firebase für Ihre Plattform und Produkte ( Apple , Android oder Web ).
  • Laden Sie eine einsatzbereite Schnellstart-App auf der Plattform Ihrer Wahl herunter, lesen Sie den Code durch und führen Sie ihn aus. Die FriendlyEats Schnellstart-App ist eine gute Wahl ( iOS , Android oder Web ).

Was ist die Firebase Local Emulator Suite?

Die Firebase Local Emulator Suite besteht aus einzelnen Dienstemulatoren, die darauf ausgelegt sind, das Verhalten von Firebase-Diensten genau nachzuahmen. Das bedeutet, dass Sie Ihre App direkt mit diesen Emulatoren verbinden können, um Integrationstests oder Qualitätssicherung durchzuführen, ohne Produktionsdaten zu berühren.

Beispielsweise könnten Sie Ihre App mit dem Cloud Firestore-Emulator verbinden, um Dokumente beim Testen sicher zu lesen und zu schreiben. Diese Schreibvorgänge können Funktionen im Cloud Functions-Emulator auslösen. Ihre App kommuniziert jedoch weiterhin mit Firebase-Produktionsdiensten, wenn keine Emulatoren verfügbar oder konfiguriert sind.

Emulator Suite in Ihren lokalen Arbeitsabläufen

Ihr Prototyp- und Test-Workflow kann die Local Emulator Suite auf verschiedene Weise nutzen:

  • Unit-Tests : Mit dem Firebase Test SDK können Sie Unit-Tests in Node.js mit dem Mocha-Test-Runner schreiben. Das Test SDK bietet mehrere praktische Methoden zum Laden von Sicherheitsregeln, zum Leeren der lokalen Datenbank zwischen Tests und zum Verwalten der synchronen Interaktion mit den Emulatoren. Es eignet sich hervorragend zum Schreiben einfacher Tests für Datenbankinteraktionen, die nicht von der Logik Ihrer App abhängen.
  • Integrationstests : Jeder einzelne Produktemulator in der Emulator Suite reagiert auf SDK- und REST-API-Aufrufe genau wie Firebase-Produktionsdienste. Sie können also Ihre eigenen Testwerkzeuge verwenden, um eigenständige Integrationstests zu schreiben, die die Local Emulator Suite als Backend verwenden.
  • Manuelle Tests : Sie können Ihre laufende Anwendung mit der Local Emulator Suite verbinden, um Ihre Firebase-App manuell zu testen, ohne Produktionsdaten zu riskieren oder ein Testprojekt zu konfigurieren.
  • Produktbewertungen : Sie können Firebase-Erweiterungen in einer sicheren lokalen Umgebung installieren und verwalten und ihre Funktionen besser verstehen, während Sie gleichzeitig die Abrechnungskosten minimieren.

Welche Firebase-Funktionen und -Plattformen werden unterstützt?

Mit der Firebase Local Emulator Suite können Sie Ihren Code interoperabel mit unseren Kernprodukten testen. Der Cloud Functions-Emulator unterstützt HTTP-Funktionen, aufrufbare Funktionen und Hintergrundfunktionen, die von Cloud Firestore, Realtime Database, Cloud Storage for Firebase, Authentifizierung und Pub/Sub ausgelöst werden. Die Emulatoren Cloud Firestore, Realtime Database und Cloud Storage for Firebase verfügen über eine integrierte Firebase Security Rules-Emulation.

Wolke
Feuerwehr
Echtzeit
Datenbank
Wolke
Lagerung
für Firebase
Authentifizierung Wolke
Funktionen
Wolke
Pub/Sub
Erweiterungen
Android SDK n / A n / A
iOS-SDK n / A n / A
Web-SDK n / A n / A
Node.js-Admin-SDK n / A n / A

Nächste Schritte

Andere Tools für Prototyping und Tests

Die Emulator Suite wird durch weitere Prototypen- und Testwerkzeuge ergänzt.

Cloud Functions-Testtools. Die Firebase-CLI-Umgebung bietet Ihnen mehrere Möglichkeiten zum Erstellen von Prototypen und zum Testen von Funktionen:

  • Der Cloud Functions-Emulator, Teil der Emulator Suite. Dieser Emulator ist interoperabel mit lokalen Live-Daten und Sicherheitsregeln im Firestore-Emulator und/oder Realtime Database-Emulator.
  • Die Cloud Functions-Shell, die interaktives, iteratives Funktionsprototyping und -entwicklung ermöglicht. Die Shell verwendet den Cloud Functions-Emulator mit einer Schnittstelle im REPL-Stil für die Entwicklung. Es wird keine Integration mit den Cloud Firestore- oder Realtime Database-Emulatoren bereitgestellt. Mithilfe der Shell simulieren Sie Daten und führen Funktionsaufrufe durch, um die Interaktion mit Produkten zu simulieren, die die Local Emulator Suite derzeit nicht unterstützt: Analytics, Remote Config und Crashlytics.
  • Das Firebase Test SDK für Cloud-Funktionen, ein Node.js mit Mocha-Framework für die Funktionsentwicklung. Tatsächlich bietet das Cloud Functions Test SDK Automatisierung auf der Cloud Functions-Shell.

Weitere Informationen zur Cloud Functions-Shell und zum Cloud Functions Test SDK finden Sie unter Interaktives Testen von Funktionen und Komponententests von Cloud Functions .

Tools zum Testen von Sicherheitsregeln. Emulator Suite ist das bevorzugte Toolset zum Testen von Sicherheitsregeln. Sie können jedoch auch Folgendes verwenden:

  • Der Rules Playground, ein Teil der Firebase-Konsole. Der Rules Playground bietet eine großartige interaktive Einstiegserfahrung mit dem Design von Sicherheitsregeln. Weitere Informationen finden Sie unter Firebase-Sicherheitsregeln schnell validieren .