Introduzione a Firebase Local Emulator Suite

Firebase Local Emulator Suite è un insieme di strumenti avanzati per gli sviluppatori che vogliono creare e testare app localmente utilizzando Cloud Firestore, Realtime Database, Cloud Storage for Firebase, Authentication, Firebase Hosting, Cloud Functions (beta), Pub/Sub (beta) e Firebase Extensions (beta). Offre un'interfaccia utente completa per aiutarti a iniziare a utilizzare e creare prototipi rapidamente.

Lo sviluppo locale con Local Emulator Suite può essere una buona soluzione per i tuoi flussi di lavoro di valutazione, prototipazione, sviluppo e integrazione continua.

Aggiunta di Firebase Emulator Suite ai tuoi flussi di lavoro di sviluppo.

Prima di iniziare

Prima di esplorare Firebase Local Emulator Suite, ti consigliamo di acquisire familiarità con i prodotti Firebase e il modello di sviluppo Firebase:

  • Leggi gli argomenti Introduzione a Firebase per la tua piattaforma e i tuoi prodotti (Apple, Android o web).
  • Scarica un'app di avvio rapido pronta per l'uso sulla piattaforma che preferisci, poi esamina ed esegui il codice. L'app di avvio rapido di FriendlyEats è una buona scelta (iOS, Android o web).

Che cos'è Firebase Local Emulator Suite?

Firebase Local Emulator Suite è composta da singoli emulatori di servizi progettati per simulare con precisione il comportamento dei servizi Firebase. Ciò significa che puoi collegare la tua app direttamente a questi emulatori per eseguire test di integrazione o QA senza toccare i dati di produzione.

Ad esempio, puoi collegare la tua app all'emulatore Cloud Firestore per leggere e scrivere documenti in sicurezza durante i test. Queste scritture possono attivare funzioni nell'emulatore Cloud Functions. Tuttavia, l'app continuerà a comunicare con i servizi Firebase di produzione quando gli emulatori non sono disponibili o configurati.

Emulator Suite nei tuoi flussi di lavoro locali

Il flusso di lavoro di creazione di prototipi e test può utilizzare Local Emulator Suite in diversi modi:

  • Test delle unità: con l'SDK Firebase Test puoi scrivere test delle unità in Node.js utilizzando il test runner mocha. L'SDK di test fornisce diversi metodi di comodità per caricare le Regole di sicurezza, svuotare il database locale tra i test e gestire l'interazione sincrona con gli emulatori. È ideale per scrivere test semplici per le interazioni con il database che non dipendono dalla logica della tua app.
  • Test di integrazione: ogni singolo emulatore di prodotto nella suite di emulatori risponde alle chiamate dell'SDK e delle API REST, proprio come i servizi Firebase di produzione. In questo modo, puoi utilizzare i tuoi strumenti di test per scrivere test di integrazione autocontenuti che utilizzano Local Emulator Suite come backend.
  • Test manuali: puoi collegare l'applicazione in esecuzione al Local Emulator Suite per testare manualmente la tua app Firebase, senza rischiare di compromettere i dati di produzione o configurare un progetto di test.
  • Valutazioni dei prodotti: puoi installare e gestire Firebase Extensions in un ambiente locale sicuro e comprendere meglio le relative funzionalità, minimizzando al contempo i costi di fatturazione.

Quali funzionalità e piattaforme Firebase sono supportate?

Firebase Local Emulator Suite ti consente di testare il codice con i nostri prodotti di base in modo interoperabile. L'emulatore Cloud Functions supporta funzioni HTTP, funzioni richiamabili e funzioni in background attivate da Cloud Firestore, Realtime Database, Cloud Storage for Firebase, Authentication e Pub/Sub. Gli emulatori Cloud Firestore, Realtime Database e Cloud Storage for Firebase hanno l'emulazione Firebase Security Rules integrata.

Cloud
Firestore
Database
in tempo reale
Cloud
Storage
for Firebase
Autenticazione
Cloud Functions
Cloud
Pub/Sub
Estensioni
SDK Android n/d n/d
SDK iOS n/d n/d
SDK web n/d n/d
SDK Admin Node.js n/d n/d

Passaggi successivi

Altri strumenti per la prototipazione e i test

Emulator Suite è integrata da altri strumenti per la creazione di prototipi e i test.

Strumenti di test di Cloud Functions. L'ambiente Firebase CLI offre diversi modi per creare un prototipo e testare le funzioni:

  • L'emulatore Cloud Functions, che fa parte di Emulator Suite. Questo emulatore è interoperabile con i dati locali in tempo reale e le regole di sicurezza nell'emulatore Firestore e/o nell'emulatore Realtime Database.
  • La shell di Cloud Functions, che consente la prototipazione e lo sviluppo di funzioni interattive e iterative. La shell utilizza l'emulatore Cloud Functions con un'interfaccia in stile REPL per lo sviluppo. Non è prevista l'integrazione con gli emulatori Cloud Firestore o Realtime Database. Utilizzando la shell, puoi simulare i dati ed eseguire chiamate di funzione per simulare l'interazione con i prodotti che Local Emulator Suite non supporta al momento: Analytics, Remote Config e Crashlytics.
  • L'SDK di test di Firebase per Cloud Functions, un framework Node.js con Mocha per lo sviluppo di funzioni. In effetti, l'SDK di test di Cloud Functions fornisce automazione sulla shell di Cloud Functions.

Puoi scoprire di più sulla shell di Cloud Functions e sull'SDK di test di Cloud Functions in Testare le funzioni in modo interattivo e Test di unità di Cloud Functions.

Strumenti di test delle regole di sicurezza. Emulator Suite è il set di strumenti preferito per testare le regole di sicurezza. Tuttavia, puoi anche utilizzare:

  • Il playground delle regole, che fa parte della console Firebase. Il laboratorio di regole offre un'esperienza introduttiva interattiva ottima per iniziare a progettare le regole di sicurezza. Per ulteriori informazioni, consulta Convalidare rapidamente le regole di sicurezza di Firebase.