Pakiet emulatorów lokalnych Firebase 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, magazynu w chmurze, uwierzytelniania, funkcji w chmurze, pubu/sub, hostingu Firebase i rozszerzeń Firebase. Zapewnia bogaty interfejs użytkownika, który pomaga w szybkim uruchomieniu i prototypowaniu.
Programowanie lokalne z pakietem 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
Zanim zapoznasz się z pakietem emulatorów lokalnych Firebase, zalecamy zapoznanie się z produktami Firebase i modelem programistycznym Firebase:
- Przeczytaj tematy Wprowadzenie do Firebase dotyczące Twojej platformy i produktów ( Apple , Android lub Web ).
- 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 Web ).
Co to jest pakiet emulatorów lokalnych 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 integracji 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 pisać dokumenty podczas testów. 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 przepływ pracy prototypów i testów może korzystać z lokalnego zestawu emulatorów na kilka sposobów:
- Testy jednostkowe : korzystając z pakietu Firebase Test SDK, możesz pisać testy jednostkowe w Node.js za pomocą programu 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żyć własnych narzędzi testowych do pisania niezależnych testów integracyjnych, które wykorzystują lokalny pakiet emulatorów jako zaplecze.
- Testy ręczne : możesz połączyć uruchomioną aplikację z pakietem 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 oraz lepiej rozumieć ich możliwości, jednocześnie minimalizując koszty rozliczeń.
Jakie funkcje i platformy Firebase są obsługiwane?
Pakiet Firebase Local Emulator Suite umożliwia testowanie kodu za pomocą naszych podstawowych produktów w sposób interoperacyjny. Emulator Cloud Functions obsługuje funkcje HTTP, funkcje wywoływane i funkcje działające w tle wyzwalane przez Cloud Firestore, bazę danych czasu rzeczywistego, przechowywanie w chmurze, uwierzytelnianie i Pub/Sub. Emulatory Cloud Firestore, Realtime Database i Cloud Storage mają wbudowaną emulację Firebase Security Rules.
Chmura Firestore | Czas rzeczywisty Baza danych | Chmura Składowanie | Uwierzytelnianie | Chmura Funkcje | Chmura Pub/Sub | Rozszerzenia | |
---|---|---|---|---|---|---|---|
Android SDK | ![]() | ![]() | ![]() | ![]() | ![]() | nie dotyczy | nie dotyczy |
Pakiet SDK dla iOS | ![]() | ![]() | ![]() | ![]() | ![]() | nie dotyczy | nie dotyczy |
Internetowy pakiet SDK | ![]() | ![]() | ![]() | ![]() | ![]() | nie dotyczy | nie dotyczy |
Pakiet SDK administratora Node.js | ![]() | ![]() | ![]() | ![]() | nie dotyczy | ![]() | nie dotyczy |
Następne kroki
Zacznij od przewodnika po lokalnym pakiecie emulatorów, który pokazuje, jak wykonać prototypowanie offline bazy danych i funkcji Cloud Functions.
Dowiedz się, jak zainstalować i skonfigurować pakiet emulatorów lokalnych .
Inne narzędzia do prototypowania i testowania
Pakiet Emulator jest uzupełniony o 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ów. Ten emulator jest kompatybilny z lokalnymi, aktywnymi 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 opracowywanie funkcji. Powłoka wykorzystuje emulator Cloud Functions z interfejsem w stylu REPL do programowania. Brak integracji z emulatorami Cloud Firestore lub Realtime Database. Za pomocą powłoki symulujesz dane i wykonujesz wywołania funkcji, aby symulować interakcję z produktami, których pakiet emulatorów lokalnych obecnie nie obsługuje: Analytics, Remote Config i Crashlytics.
- Firebase Test SDK dla Cloud Functions, Node.js z frameworkiem mokka do tworzenia funkcji. W efekcie pakiet SDK Cloud Functions Test zapewnia automatyzację w powłoce Cloud Functions.
Więcej informacji o powłoce Cloud Functions i Cloud Functions Test SDK znajdziesz w sekcji Testuj funkcje interaktywne i Testowanie jednostkowe Cloud Functions .
Narzędzia do testowania reguł bezpieczeństwa. Emulator Suite to preferowany zestaw narzędzi do testowania reguł bezpieczeństwa. Możesz jednak również użyć:
- Plac zabaw reguł, część konsoli Firebase. Plac zabaw dla reguł zapewnia doskonałą interaktywną przygodę z projektowaniem reguł bezpieczeństwa. Aby uzyskać więcej informacji, zobacz Szybka walidacja reguł zabezpieczeń Firebase .