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). 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.

Dodawanie Pakietu emulatorów Firebase do procesów programowania.

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.

i nie nadają się do użytku w środowisku produkcyjnym.

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, AuthenticationPub/Sub. Emulatory Cloud Firestore, Realtime DatabaseCloud 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

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 funkcjiTesty 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ć: