2017-05-24 2 views
1

Ich denke Frage Titel ist selbsterklärend, aber weitere Details folgenGibt es eine Möglichkeit, die Firebase-Datenbank lokal zu emulieren?

Hintergrund

Ich entwickle eine Umdrehung basierte Android-Spiel mit Hilfe von Echtzeit-Datenbank Firebase. Das Konzept ist sehr einfach, alle Spieler sind mit dem Einzelzimmer verbunden, das ich durch das Einfügen in die Firebase-Datenbank erstelle. Nun fügt jeder Spieler diesem Knoten einen Child Value Listener hinzu. Jetzt kann ich den Spielstatus in diesem Knoten aktualisieren und jeder erhält ein Update in Echtzeit.

Problem

Während Entwicklungsphase, ich versuche immer noch verschiedene Möglichkeiten, um diese Daten zu strukturieren und in Android-Client-Implementierung. Ich arbeite nicht an einer Firma oder einem Unternehmen, daher muss ich mein eigenes mobiles Internet benutzen (wo Internetdaten teuer sind). Plus oft bin ich in einem Bereich, in dem es keine Internetverbindung gibt. Dies reduziert den Zeitaufwand für das Testen netzwerkbezogener Tests.

Frage

Gibt es so, wie ich simulieren kann (oder emulieren) Feuerbasis Datenbank lokal? Wenn es einmal funktioniert, kann ich es im realen Netzwerk testen? Irgendwelche Ideen oder Hinweise diesbezüglich werden hilfreich sein.

+0

Haben Sie [this] (https://youtu.be/7e0RGIul8Kk?t=30m36s) gesehen? –

+0

@AlexMamo, Nein, habe ich nicht. Ich werde es mir ansehen. – Dexter

+0

Emuliert die Cloud-Funktionen Emulator auch Echtzeit-Datenbank? –

Antwort

0

Es klingt wie Sie wahrscheinlich versuchen möchten firebase-server. Es ist im Grunde ein Ersatz-Echtzeitdatenbankserver, den Sie lokal ausführen können.

Sie müssen die Host-Datei Ihres Betriebssystems bearbeiten, um einen 3-teiligen Domänennamen (wie localhost.firebaseio.test) in localhost aufzulösen, da einige seltsame Einschränkungen in den Firebase-Client-Bibliotheken enthalten sind. Einige Leute haben einen Weg gefunden, Mocks in die Client-Bibliothek zu injizieren, aber das hat nie funktioniert. Ich denke, es hat nur in einer alten Version funktioniert.

Beachten Sie, dass dies NICHT die offiziell empfohlene Methode zum Schreiben von Komponententests ist; Es wird als besser erachtet, die Firebase-Clientbibliothek vollständig zu überspielen. Es kann jedoch für Integrationstests sehr nützlich sein.

Es gibt einen nützlichen Thread here, der einige Testfragen behandelt.

Verwandte Themen