Wprowadzenie do pakietu emulatorów lokalnych Firebase

Pakiet Firebase Local Emulator Suite to zestaw zaawansowanych narzędzi dla programistów, którzy chcą tworzyć i testować aplikacje lokalnie przy użyciu Cloud Firestore, bazy danych czasu rzeczywistego, Cloud Storage dla Firebase, uwierzytelniania, hostingu Firebase, Cloud Functions (beta), Pub/Sub (beta), i rozszerzenia Firebase (beta). Zapewnia bogaty interfejs użytkownika, który pomaga szybko uruchomić i prototypować.

Programowanie lokalne za pomocą pakietu Local Emulator Suite może dobrze pasować do procesów oceny, prototypowania, programowania i ciągłej integracji.

Dodawanie pakietu Firebase Local Emulator Suite do przepływów pracy programistycznych.

Zanim zaczniesz

Zanim poznasz pakiet Firebase Local Emulator Suite, zalecamy zapoznanie się z produktami Firebase i modelem rozwoju Firebase:

  • Przeczytaj tematy Rozpocznij pracę z Firebase dotyczące Twojej platformy i produktów ( Apple , Android lub Internet ).
  • Pobierz gotową do uruchomienia aplikację szybkiego startu na wybraną platformę, a następnie przeczytaj i wykonaj kod. Aplikacja szybkiego startu FriendlyEats to dobry wybór ( iOS , Android lub Internet ).

Co to jest pakiet lokalnego emulatora Firebase?

Pakiet Firebase Local Emulator Suite składa się z indywidualnych emulatorów usług zbudowanych w celu dokładnego naśladowania zachowania usług Firebase. Oznacza to, że możesz połączyć swoją aplikację bezpośrednio z tymi emulatorami, aby przeprowadzić testy integracyjne lub kontrolę jakości bez dotykania danych produkcyjnych.

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

Pakiet emulatorów w lokalnych przepływach pracy

Twój prototyp i przepływ pracy testowej mogą wykorzystywać pakiet lokalnych emulatorów na kilka sposobów:

  • Testy jednostkowe : korzystając z pakietu SDK Firebase Test, możesz pisać testy jednostkowe w Node.js, korzystając z modułu uruchamiającego testy mokka. Test SDK udostępnia kilka wygodnych metod ładowania reguł zabezpieczeń, opróżniania lokalnej bazy danych pomię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 produktu w pakiecie Emulator Suite odpowiada na wywołania SDK i REST API, podobnie 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 pakietu Local Emulator Suite jako zaplecza.
  • Testy ręczne : możesz podłączyć działającą aplikację do pakietu Local Emulator Suite, aby ręcznie przetestować aplikację Firebase, bez narażania danych produkcyjnych lub konfigurowania projektu testowego.
  • Oceny produktów : możesz instalować rozszerzenia Firebase i zarządzać nimi w bezpiecznym środowisku lokalnym i lepiej poznać ich możliwości, minimalizując jednocześnie koszty rozliczeniowe.

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

Pakiet Firebase Local Emulator Suite umożliwia interoperacyjne testowanie kodu z naszymi podstawowymi produktami. Emulator Cloud Functions obsługuje funkcje HTTP, funkcje wywoływalne i funkcje w tle uruchamiane przez Cloud Firestore, bazę danych czasu rzeczywistego, Cloud Storage dla Firebase, uwierzytelnianie i Pub/Sub. Emulatory Cloud Firestore, Realtime Database i Cloud Storage for Firebase mają wbudowaną emulację reguł zabezpieczeń Firebase.

Chmura
Sklep z ogniem
Czas rzeczywisty
Baza danych
Chmura
Składowanie
dla Firebase
Uwierzytelnianie Chmura
Funkcje
Chmura
Pub/sub
Rozszerzenia
SDK dla Androida nie dotyczy nie dotyczy
Zestaw SDK dla iOS nie dotyczy nie dotyczy
Internetowy zestaw SDK nie dotyczy nie dotyczy
Pakiet SDK administratora Node.js nie dotyczy nie dotyczy

Następne kroki

Inne narzędzia do prototypowania i testowania

Pakiet emulatorów jest uzupełniany przez inne narzędzia prototypowe i testowe.

Narzędzia do testowania Cloud Functions. Środowisko Firebase CLI zapewnia kilka sposobów prototypowania i testowania funkcji:

  • Emulator Cloud Functions będący częścią pakietu Emulator Suite. Ten emulator współpracuje z lokalnymi, bieżącymi danymi i regułami bezpieczeństwa w emulatorze Firestore i/lub emulatorze bazy danych czasu rzeczywistego.
  • Powłoka Cloud Functions, która umożliwia interaktywne, iteracyjne prototypowanie i rozwój funkcji. Powłoka wykorzystuje do programowania emulator Cloud Functions z interfejsem w stylu REPL. Nie zapewnia się integracji z emulatorami Cloud Firestore ani Realtime Database. Korzystając z powłoki, kpisz z danych i wykonujesz wywołania funkcji w celu symulacji interakcji z produktami, których obecnie nie obsługuje pakiet Local Emulator Suite: Analytics, Remote Config i Crashlytics.
  • Zestaw SDK Firebase Test dla funkcji w chmurze, framework Node.js z mocha do tworzenia funkcji. W rezultacie pakiet SDK Cloud Functions Test zapewnia automatyzację na powłoce Cloud Functions.

Więcej informacji na temat powłoki Cloud Functions i pakietu SDK Cloud Functions Test SDK znajdziesz w artykułach Testuj funkcje interaktywnie i Testowanie jednostkowe Cloud Functions .

Narzędzia do testowania reguł bezpieczeństwa. Pakiet Emulator to preferowany zestaw narzędzi do testowania reguł bezpieczeństwa. Możesz jednak również użyć:

  • Plac zabaw z zasadami, część konsoli Firebase. Plac zabaw z regułami zapewnia świetne, interaktywne środowisko umożliwiające rozpoczęcie pracy z projektowaniem reguł zabezpieczeń. Aby uzyskać więcej informacji, zobacz Szybkie sprawdzanie reguł zabezpieczeń Firebase .