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, uwierzytelniania, funkcji chmury, Pub / Sub i hostingu Firebase. Zapewnia bogaty interfejs użytkownika, który pomaga szybko uruchomić i prototypować.
Rozwój lokalny za pomocą pakietu Local Emulator Suite może być dobrym rozwiązaniem dla przepływów pracy związanych z prototypowaniem, rozwojem i ciągłą integracją.
Zanim zaczniesz
Przed zapoznaniem się z pakietem Firebase Local Emulator Suite zalecamy zapoznanie się z produktami Firebase i modelem rozwoju Firebase:
- Zapoznaj się z tematami Rozpocznij pracę z Firebase dotyczącymi Twojej platformy i produktów ( iOS , 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 Firebase Local Emulator Suite?
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.
Na przykład możesz połączyć swoją aplikację z emulatorem Cloud Firestore, aby bezpiecznie czytać i zapisywać dokumenty podczas testów. Te zapisy mogą wyzwalać funkcje w emulatorze Cloud Functions. Jednak Twoja aplikacja będzie nadal komunikować się z produkcyjnymi usługami Firebase, gdy emulatory nie są dostępne lub skonfigurowane.
Emulator Suite w lokalnych przepływach pracy
Twój prototyp i przepływ pracy testowej mogą korzystać z pakietu lokalnego emulatora na trzy sposoby:
- Testy jednostkowe : korzystając z Firebase Test SDK, możesz pisać testy jednostkowe w Node.js przy użyciu modułu uruchamiającego testy mokka. Test SDK zapewnia kilka wygodnych metod ładowania reguł bezpieczeństwa, opróżniania 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 integracji : 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 niezależnych testów integracji, które używają pakietu lokalnego emulatora jako zaplecza.
- Testy ręczne : możesz połączyć uruchomioną aplikację z pakietem Local Emulator Suite, aby ręcznie przetestować aplikację Firebase, bez ryzykowania danych produkcyjnych lub konfigurowania projektu testowego.
Które funkcje i platformy Firebase są obsługiwane?
Pakiet Firebase Local Emulator Suite umożliwia testowanie kodu z naszymi podstawowymi produktami w sposób interoperacyjny. Emulator Cloud Functions obsługuje funkcje HTTP, funkcje wywoływalne i funkcje w tle wyzwalane przez Cloud Firestore, bazę danych czasu rzeczywistego, uwierzytelnianie i Pub / Sub; emulator Cloud Functions nie obsługuje funkcji w tle uruchamianych przez Cloud Storage for Firebase. W przypadku emulatorów Cloud Firestore i Realtime Database jest wbudowana emulacja reguł bezpieczeństwa.
Chmura Firestore | Czas rzeczywisty Baza danych | Poświadczenie | Chmura Funkcje | Chmura Pub / Sub | |
---|---|---|---|---|---|
Android SDK | ![]() | ![]() | ![]() | ![]() | n / a |
SDK dla systemu iOS | ![]() | ![]() | ![]() | ![]() | n / a |
Zestaw SDK sieci Web | ![]() | ![]() | ![]() | ![]() | n / a |
Node.js Admin SDK | ![]() | ![]() | ![]() | n / a | ![]() |
Następne kroki
Rozpocznij od przewodnika po pakiecie Local Emulator Suite, który pokazuje, jak można tworzyć prototypy bazy danych i Cloud Functions w trybie offline.
Dowiedz się, jak zainstalować i skonfigurować pakiet lokalnego emulatora .
Inne narzędzia do prototypowania i testowania
Pakiet Emulator Suite 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, część pakietu Emulator Suite. Ten emulator współpracuje z lokalnymi danymi na żywo i regułami zabezpieczeń 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 emulator Cloud Functions z interfejsem w stylu REPL do programowania. Nie jest zapewniona integracja z emulatorami Firestore ani Realtime Database. Używając powłoki, symulujesz dane i wykonujesz wywołania funkcji w celu symulacji interakcji z produktami, których pakiet Emulator obecnie nie obsługuje: Storage, Pub / Sub, Analytics, Remote Config, Storage, Auth i Crashlytics.
- Firebase Test SDK for Cloud Functions, Node.js z platformą mokka do tworzenia funkcji. W efekcie pakiet SDK Cloud Functions Test zapewnia automatyzację na szczycie powłoki Cloud Functions.
Więcej informacji na temat powłoki Cloud Functions i zestawu SDK testów funkcji Cloud Functions można znaleźć w sekcji Interaktywne testy i testy jednostkowe Cloud Functions .
Narzędzia do testowania reguł bezpieczeństwa. Pakiet Emulator jest preferowanym zestawem narzędzi do testowania reguł bezpieczeństwa. Możesz jednak użyć również:
- The Rules Playground, część konsoli Firebase. Plac zabaw z regułami zapewnia wspaniałe, interaktywne środowisko rozpoczynania pracy z projektowaniem reguł zabezpieczeń. Aby uzyskać więcej informacji, zobacz Szybka weryfikacja reguł zabezpieczeń Firebase .