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, 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 w szybkim uruchomieniu i prototypowaniu.
Programowanie lokalne z pakietem Local Emulator Suite może być dobrym rozwiązaniem dla procesów oceny, prototypowania, rozwoju i ciągłej integracji.
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ł zabezpieczeń, 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 indywidualny emulator produktu w pakiecie emulatorów odpowiada na wywołania SDK i REST API, tak jak produkcyjne usługi Firebase. Możesz więc użyć własnych narzędzi testowych do pisania samodzielnych testów integracyjnych, które używają lokalnego pakietu emulatorów jako zaplecza.
- Testy ręczne : możesz połączyć uruchomioną aplikację z pakietem emulatorów lokalnych, 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, Cloud Storage dla Firebase, Uwierzytelnianie i Pub/Sub. Emulatory Cloud Firestore, Baza danych czasu rzeczywistego i Cloud Storage for Firebase mają wbudowaną emulację reguł zabezpieczeń Firebase.
Chmura Firestore | Czas rzeczywisty Baza danych | Chmura Magazynowanie dla Firebase | Uwierzytelnianie | Chmura Funkcje | Chmura Pub/Sub | Rozszerzenia | |
---|---|---|---|---|---|---|---|
Android SDK | ![]() | ![]() | ![]() | ![]() | ![]() | nie dotyczy | nie dotyczy |
Pakiet SDK dla iOS | ![]() | ![]() | ![]() | ![]() | ![]() | nie dotyczy | nie dotyczy |
Web SDK | ![]() | ![]() | ![]() | ![]() | ![]() | nie dotyczy | nie dotyczy |
Pakiet Administracyjny Node.js | ![]() | ![]() | ![]() | ![]() | nie dotyczy | ![]() | nie dotyczy |
Następne kroki
Rozpocznij od przewodnika po pakiecie emulatorów lokalnych, 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 rozwój funkcji. Powłoka wykorzystuje emulator Cloud Functions z interfejsem w stylu REPL do programowania. Nie zapewnia się integracji z emulatorami Cloud Firestore ani 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 pakiecie SDK testu Cloud Functions znajdziesz w artykułach 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 .