Firebase Local Emulator Suite to zestaw zaawansowanych narzędzi dla programistów, którzy chcą tworzyć i testować aplikacje lokalnie za pomocą Cloud Firestore, Realtime Database, Cloud Storage for Firebase, Authentication, Firebase Hosting, Cloud Functions (beta), Pub/Sub (beta) i Firebase Extensions (beta). Udostępnia bogaty interfejs użytkownika, który pomaga szybko rozpocząć pracę i tworzyć prototypy.
Lokalne programowanie z użyciem Pakietu emulatorów lokalnych może być dobrym rozwiązaniem w przypadku procesów oceny, prototypowania, programowania i ciągłej integracji.
Zanim zaczniesz
Zanim zaczniesz korzystać z Pakietu emulatorów lokalnych Firebase, zapoznaj się z usługami Firebase i modelem programowania w Firebase:
- Zapoznaj się z tematami z sekcji Pierwsze kroki z Firebase dotyczącymi Twojej platformy i usług (Apple, Android lub Web).
- Pobierz gotową aplikację z szybkim wprowadzeniem na wybraną platformę, a następnie przeczytaj i wykonaj kod. Aplikacja FriendlyEats to dobry wybór (iOS, Android lub Web).
Co to jest Firebase Local Emulator Suite?
Pakiet emulatorów lokalnych Firebase składa się z emulatorów poszczególnych usług, które zostały stworzone tak, aby dokładnie odzwierciedlać działanie usług Firebase. Oznacza to, że możesz połączyć aplikację bezpośrednio z tymi emulatorami, aby przeprowadzić testy integracyjne lub testy jakości bez wpływu na dane produkcyjne.
Możesz na przykład połączyć aplikację z emulatorem Cloud Firestore, aby bezpiecznie odczytywać i zapisywać dokumenty podczas testowania. Te zapisy mogą wywoływać funkcje w emulatorze Cloud Functions. Jednak gdy emulatory nie są dostępne lub skonfigurowane, aplikacja nadal będzie komunikować się z usługami Firebase w wersji produkcyjnej.

Pakiet emulatorów w lokalnych procesach
W procesie prototypowania i testowania możesz korzystać z Pakietu emulatorów lokalnych na kilka sposobów:
- Testy jednostkowe: za pomocą pakietu Firebase Test SDK możesz pisać testy jednostkowe w Node.js, korzystając z programu do uruchamiania testów mocha. Pakiet Test SDK udostępnia kilka wygodnych metod wczytywania reguł zabezpieczeń, czyszczenia lokalnej bazy danych między testami i zarządzania synchroniczną interakcją z emulatorami. Świetnie nadaje się do pisania prostych testów interakcji z bazą danych, które nie zależą od logiki aplikacji.
- Testy integracyjne: każdy emulator poszczególnych usług w pakiecie Emulator Suite odpowiada na wywołania pakietu SDK i interfejsu API REST tak samo jak produkcyjne usługi Firebase. Możesz więc używać własnych narzędzi testowych do pisania samodzielnych testów integracyjnych, które korzystają z Local Emulator Suite jako backendu.
- Testy ręczne: możesz połączyć działającą aplikację z Local Emulator Suite, aby ręcznie przetestować aplikację Firebase bez ryzyka uszkodzenia danych produkcyjnych lub konfigurowania projektu testowego.
- Oceny produktów: możesz instalować i zarządzać Firebase Extensionsw bezpiecznym środowisku lokalnym oraz lepiej poznawać ich możliwości, minimalizując jednocześnie koszty rozliczeń.
Które funkcje i platformy Firebase są obsługiwane?
Pakiet emulatorów lokalnych Firebase umożliwia testowanie kodu z naszymi podstawowymi usługami w sposób interoperacyjny. Emulator Cloud Functions obsługuje funkcje HTTP, funkcje wywoływalne i funkcje działające w tle wywoływane przez Cloud Firestore, Realtime Database, Cloud Storage for Firebase, Authentication i Pub/Sub. Emulatory Cloud Firestore, Realtime Database i Cloud Storage for Firebase mają wbudowaną Firebase Security Rules.
| Cloud Firestore |
Baza danych w czasie rzeczywistym |
Cloud Storage dla Firebase |
Uwierzytelnianie | Cloud Functions |
Cloud Pub/Sub |
Rozszerzenia | |
|---|---|---|---|---|---|---|---|
| SDK na Androida | Nie dotyczy | Nie dotyczy | |||||
| SDK na iOS | Nie dotyczy | Nie dotyczy | |||||
| Pakiet SDK dla klienta internetowego | Nie dotyczy | Nie dotyczy | |||||
| Pakiet Admin SDK w Node.js | Nie dotyczy | Nie dotyczy |
Dalsze kroki
Zacznij od Local Emulator Suiteprzewodnika, z którego dowiesz się, jak przeprowadzić prototypowanie bazy danych w trybie offline i Cloud Functions.
Dowiedz się, jak zainstalować i skonfigurować Local Emulator Suite.
Inne narzędzia do prototypowania i testowania
Pakiet emulatorów jest uzupełniany przez inne narzędzia do prototypowania i testowania.
Narzędzia do testowania Cloud Functions. Środowisko wiersza poleceń Firebase udostępnia kilka sposobów prototypowania i testowania funkcji:
- Emulator Cloud Functions, który jest częścią pakietu emulatorów. Ten emulator współpracuje z lokalnymi danymi na żywo i regułami zabezpieczeń w emulatorze Firestore lub emulatorze Bazy danych czasu rzeczywistego.
- Powłoka Cloud Functions, która umożliwia interaktywne, iteracyjne prototypowanie i tworzenie funkcji. Powłoka korzysta z emulatora Cloud Functions z interfejsem w stylu REPL do programowania. Nie ma integracji z emulatorami Cloud Firestore ani Realtime Database. Za pomocą powłoki możesz symulować dane i wykonywać wywołania funkcji, aby symulować interakcje z usługami, których Local Emulator Suite obecnie nie obsługuje: Analytics, Zdalna konfiguracja i Crashlytics.
- Pakiet Firebase Test SDK dla Cloud Functions, czyli środowisko Node.js z platformą Mocha do tworzenia funkcji. W praktyce pakiet Cloud Functions Test SDK zapewnia automatyzację w powłoce Cloud Functions.
Więcej informacji o powłoce Cloud Functions i zestawie Cloud Functions Test SDK znajdziesz w sekcjach Interaktywne testowanie funkcji i Testy jednostkowe funkcji Cloud Functions.
Narzędzia do testowania reguł zabezpieczeń. Pakiet emulatorów to preferowany zestaw narzędzi do testowania reguł zabezpieczeń. Możesz jednak też używać:
- Środowisko do testowania reguł, które jest częścią konsoli Firebase. Plac zabaw reguł to świetne interaktywne narzędzie, które pomoże Ci zacząć projektować reguły zabezpieczeń. Więcej informacji znajdziesz w artykule Szybkie sprawdzanie poprawności reguł zabezpieczeń Firebase.