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). Oferuje on bogaty interfejs użytkownika, który ułatwia szybkie uruchamianie i tworzenie prototypów.
Lokalny proces programowania za pomocą Pakietu emulatorów lokalnych może być odpowiedni do procesów oceny, prototypowania, rozwoju i ciągłej integracji.
Zanim zaczniesz
Zanim zaczniesz korzystać z Pakietów emulatorów lokalnych Firebase, zapoznaj się z usługami Firebase i modelem programowania Firebase:
- Przeczytaj tematy Pierwsze kroki z Firebase dotyczące Twojej platformy i usług (Apple, Android lub internet).
- Pobierz gotową aplikację na wybranej platformie, a następnie przeczytaj i wykonaj kod. Dobrym wyborem jest aplikacja uruchamiająca FriendlyEats (iOS, Android lub internet).
Co to jest Firebase Local Emulator Suite?
Pakiet emulatorów lokalnych Firebase składa się z indywidualnych emulatorów usług, które wiernie odwzorowują 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ściowe bez korzystania z danych produkcyjnych.
Możesz na przykład połączyć aplikację z emulatorem Cloud Firestore, aby bezpiecznie odczytywać i zapisywać dokumenty podczas testowania. Te operacje zapisu mogą wywoływać funkcje w emulatorze Cloud Functions. Jednak gdy emulatory nie są dostępne lub nie są skonfigurowane, aplikacja nadal będzie komunikować się z produkcyjnymi usługami Firebase.
Pakiet emulatorów w procesach lokalnych
Twój przepływ pracy związany z prototypowaniem i testowaniem może korzystać z Pakietów emulatorów lokalnych na kilka sposobów:
- Testy jednostkowe: za pomocą pakietu SDK do testów Firebase możesz pisać testy jednostkowe w Node.js za pomocą testowego modułu mocha. Pakiet Test SDK udostępnia kilka wygodnych metod ładowania reguł zabezpieczeń, opróżniania lokalnej bazy danych między testami oraz zarządzania synchroniczną interakcją z emulatorami. Jest ona przydatna do pisania prostych testów interakcji z bazą danych, które nie zależą od logiki aplikacji.
- Testy integracyjne: każdy pojedynczy emulator usług w pakiecie emulatorów reaguje 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 do testowania, aby pisać samodzielne testy integracji, które korzystają z poziomu backendowego usługi Local Emulator Suite.
- Testy ręczne: możesz połączyć uruchomioną aplikację z Local Emulator Suite, aby ręcznie przetestować aplikację Firebase bez ryzyka utraty danych produkcyjnych ani konfigurowania projektu testowego.
- Oceny produktów: możesz zainstalować Firebase Extensions i zarządzać nim w bezpiecznym środowisku lokalnym, aby lepiej poznać jego możliwości, jednocześnie minimalizując koszty rozliczeń.
Które funkcje i platformy Firebase są obsługiwane?
Pakiet emulatorów lokalnych Firebase umożliwia testowanie kodu w naszych głównych usługach w sposób interoperacyjny. Emulator Cloud Functions obsługuje funkcje HTTP, funkcje wywoływane i funkcje tła wywoływane przez Cloud Firestore, Realtime Database, Cloud Storage for Firebase, Authentication i Pub/Sub. Emulatory Cloud Firestore, Realtime Database i Cloud Storage for Firebase mają wbudowaną emulację Firebase Security Rules.
Cloud Firestore |
Czas rzeczywisty Baza danych |
Cloud Storage for 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 |
Node.js Admin SDK | ![]() |
![]() |
![]() |
![]() |
Nie dotyczy | ![]() |
Nie dotyczy |
Dalsze kroki
Rozpocznij od obejrzenia Local Emulator Suite, aby dowiedzieć się, jak tworzyć prototypy bazy danych i Cloud Functions w trybie offline.
Dowiedz się, jak zainstalować i skonfigurować Local Emulator Suite.
Inne narzędzia do tworzenia prototypów i testowania
Pakiet emulatorów uzupełniają inne narzędzia do tworzenia prototypów i testowania.
Narzędzia do testowania funkcji w Cloud Functions Środowisko wiersza poleceń Firebase udostępnia kilka sposobów tworzenia prototypów i testowania funkcji:
- Emulator Cloud Functions, który jest częścią pakietu Emulator Suite. Ten emulator jest interoperacyjny z lokalnymi, bieżącymi danymi i regułami zabezpieczeń w emulatorze Firestore lub Bazy danych czasu rzeczywistego.
- Powłoka Cloud Functions, która umożliwia interaktywny, iteracyjny 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ć interakcję z usługami, których Local Emulator Suite obecnie nie obsługuje (Analytics, Zdalna konfiguracja i Crashlytics), podając dane symulowane i wykonywując wywołania funkcji.
- Pakiet SDK testów Firebase dla Cloud Functions, czyli framework Node.js z Mochą do tworzenia funkcji. W efekcie pakiet SDK do testowania Cloud Functions zapewnia automatyzację na poziomie powłoki Cloud Functions.
Więcej informacji o powłoce Cloud Functions i Test SDK Cloud Functions znajdziesz w artykułach Testowanie funkcji w sposób interaktywny i Testowanie jednostkowe funkcji Cloud Functions.
Narzędzia do testowania reguł zabezpieczeń Pakiet emulatorów to preferowany zestaw narzędzi do testowania reguł bezpieczeństwa. Możesz też użyć:
- Środowisko do testowania reguł, które jest częścią konsoli Firebase. Playground dotyczący reguł zawiera świetną interaktywną pomoc w rozpoczęciu pracy z projektowaniem reguł zabezpieczeń. Więcej informacji znajdziesz w artykule Szybkie sprawdzanie reguł zabezpieczeń Firebase.