Wprowadzenie do Pakietu emulatorów lokalnych Firebase.

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). Oferuje on bogaty interfejs użytkownika, który ułatwia szybkie uruchamianie i tworzenie prototypów.

Lokalny proces programowania za pomocą Pakietu emulatorów lokalnych może być odpowiedni do procesów oceny, prototypowania, rozwoju i ciągłej integracji.

Dodawanie pakietu Firebase Emulator Suite do procesów programowania.

Zanim zaczniesz

Zanim zaczniesz korzystać z Pakietów emulatorów lokalnych Firebase, zapoznaj się z usługami Firebase i modelem programowania Firebase:

  • Przeczytaj tematy Pierwsze kroki z Firebase dotyczące Twojej platformy i usług (Apple, Android lub internet).
  • Pobierz gotową aplikację na wybranej platformie, a następnie przeczytaj i wykonaj kod. Dobrym wyborem jest aplikacja uruchamiająca FriendlyEats (iOS, Android lub internet).

Co to jest Firebase Local Emulator Suite?

Pakiet emulatorów lokalnych Firebase składa się z indywidualnych emulatorów usług, które wiernie odwzorowują 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ściowe bez korzystania z danych produkcyjnych.

Możesz na przykład połączyć aplikację z emulatorem Cloud Firestore, aby bezpiecznie odczytywać i zapisywać dokumenty podczas testowania. Te operacje zapisu mogą wywoływać funkcje w emulatorze Cloud Functions. Jednak gdy emulatory nie są dostępne lub nie są skonfigurowane, aplikacja nadal będzie komunikować się z produkcyjnymi usługami Firebase.

Pakiet emulatorów w procesach lokalnych

Twój przepływ pracy związany z prototypowaniem i testowaniem może korzystać z Pakietów emulatorów lokalnych na kilka sposobów:

  • Testy jednostkowe: za pomocą pakietu SDK do testów Firebase możesz pisać testy jednostkowe w Node.js za pomocą testowego modułu mocha. Pakiet Test SDK udostępnia kilka wygodnych metod ładowania reguł zabezpieczeń, opróżniania lokalnej bazy danych między testami oraz zarządzania synchroniczną interakcją z emulatorami. Jest ona przydatna do pisania prostych testów interakcji z bazą danych, które nie zależą od logiki aplikacji.
  • Testy integracyjne: każdy pojedynczy emulator usług w pakiecie emulatorów reaguje 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 do testowania, aby pisać samodzielne testy integracji, które korzystają z poziomu backendowego usługi Local Emulator Suite.
  • Testy ręczne: możesz połączyć uruchomioną aplikację z Local Emulator Suite, aby ręcznie przetestować aplikację Firebase bez ryzyka utraty danych produkcyjnych ani konfigurowania projektu testowego.
  • Oceny produktów: możesz zainstalować Firebase Extensions i zarządzać nim w bezpiecznym środowisku lokalnym, aby lepiej poznać jego możliwości, jednocześnie minimalizując koszty rozliczeń.

Które funkcje i platformy Firebase są obsługiwane?

Pakiet emulatorów lokalnych Firebase umożliwia testowanie kodu w naszych głównych usługach w sposób interoperacyjny. Emulator Cloud Functions obsługuje funkcje HTTP, funkcje wywoływane i funkcje tła wywoływane przez Cloud Firestore, Realtime Database, Cloud Storage for Firebase, AuthenticationPub/Sub. Emulatory Cloud Firestore, Realtime Database i Cloud Storage for Firebase mają wbudowaną emulację Firebase Security Rules.

Cloud
Firestore
Czas rzeczywisty
Baza danych
Cloud
Storage
for 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
Node.js Admin SDK Nie dotyczy Nie dotyczy

Dalsze kroki

Inne narzędzia do tworzenia prototypów i testowania

Pakiet emulatorów uzupełniają inne narzędzia do tworzenia prototypów i testowania.

Narzędzia do testowania funkcji w Cloud Functions Środowisko wiersza poleceń Firebase udostępnia kilka sposobów tworzenia prototypów i testowania funkcji:

  • Emulator Cloud Functions, który jest częścią pakietu Emulator Suite. Ten emulator jest interoperacyjny z lokalnymi, bieżącymi danymi i regułami zabezpieczeń w emulatorze Firestore lub Bazy danych czasu rzeczywistego.
  • Powłoka Cloud Functions, która umożliwia interaktywny, iteracyjny 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ć interakcję z usługami, których Local Emulator Suite obecnie nie obsługuje (Analytics, Zdalna konfiguracja i Crashlytics), podając dane symulowane i wykonywując wywołania funkcji.
  • Pakiet SDK testów Firebase dla Cloud Functions, czyli framework Node.js z Mochą do tworzenia funkcji. W efekcie pakiet SDK do testowania Cloud Functions zapewnia automatyzację na poziomie powłoki Cloud Functions.

Więcej informacji o powłoce Cloud Functions i Test SDK Cloud Functions znajdziesz w artykułach Testowanie funkcji w sposób interaktywnyTestowanie jednostkowe funkcji Cloud Functions.

Narzędzia do testowania reguł zabezpieczeń Pakiet emulatorów to preferowany zestaw narzędzi do testowania reguł bezpieczeństwa. Możesz też użyć:

  • Środowisko do testowania reguł, które jest częścią konsoli Firebase. Playground dotyczący reguł zawiera świetną interaktywną pomoc w rozpoczęciu pracy z projektowaniem reguł zabezpieczeń. Więcej informacji znajdziesz w artykule Szybkie sprawdzanie reguł zabezpieczeń Firebase.