Introdução ao conjunto de emuladores locais do Firebase

O Firebase Local Emulator Suite é um conjunto de ferramentas avançadas para desenvolvedores que querem criar e testar apps localmente usando Cloud Firestore, Realtime Database; Cloud Storage for Firebase, Authentication, Firebase Hosting, Cloud Functions (Beta), Pub/Sub (Beta) e Firebase Extensions (Beta). O pacote fornece uma interface do usuário avançada para ajudar você a iniciar sua produção e criar protótipos com rapidez.

O desenvolvimento com o Pacote de emuladores locais pode ser uma boa opção para fluxos de trabalho de prototipagem, desenvolvimento, avaliação e integração contínua.

Adicionando <span class=Pacote de emuladores locais do Firebase aos seus fluxos de trabalho de desenvolvimento.">

Antes de começar

Antes de usar o Pacote de emuladores locais do Firebase, recomendamos que você confira os produtos e o modelo de desenvolvimento do Firebase:

  • Leia o tópico Primeiras etapas com o Firebase para sua plataforma e produtos (Apple, Android ou Web).
  • Faça o download de um app de início rápido pronto para ser executado na plataforma de sua preferência, depois leia e execute o código. O aplicativo de início rápido do FriendlyEats é uma boa opção (iOS, Android ou Web).

O que é Firebase Local Emulator Suite?

O pacote do emulador local do Firebase consiste em emuladores de serviço individuais criados para imitar com precisão o comportamento dos serviços do Firebase. Isso significa que você pode conectar o app diretamente a esses emuladores para realizar testes de integração ou controle de qualidade sem tocar nos dados de produção.

Por exemplo, você poderia conectar seu app ao emulador do Cloud Firestore para ler e gravar documentos com segurança em testes. Essas gravações podem acionar funções no emulador Cloud Functions. No entanto, o app continuará a se comunicar com os serviços de produção do Firebase quando os emuladores não estiverem disponíveis ou configurados.

Pacote do emulador nos fluxos de trabalho locais

O pacote de emuladores locais pode ser usado no fluxo de trabalho de teste e prototipagem de várias maneiras:

  • Testes de unidade: o SDK de teste do Firebase permite que você grave testes de unidade no Node.js usando o executor de teste mocha. O SDK de teste fornece vários métodos de conveniência para carregar regras de segurança, limpar o banco de dados local entre testes e gerenciar a interação síncrona com os emuladores. Ele é ótimo para escrever testes simples para interações de banco de dados que não dependem da lógica do app.
  • Testes de integração: cada emulador de produto individual no pacote de emuladores responde a chamadas do SDK e da API REST, assim como os serviços de produção do Firebase. Assim, é possível usar suas próprias ferramentas de teste para escrever testes de integração autônomos que usam Local Emulator Suite como back-end.
  • Testes manuais: conecte o aplicativo em execução ao Local Emulator Suite para testar o aplicativo do Firebase manualmente, sem arriscar os dados de produção ou configurar um projeto de teste.
  • Avaliações de produtos: é possível instalar e gerenciar Firebase Extensions em um ambiente local seguro para entender melhor os recursos e minimizar os custos de faturamento.

Quais recursos e plataformas do Firebase são compatíveis?

O Pacote de emuladores locais do Firebase permite testar o código com nossos principais produtos de maneira interoperável. O emulador Cloud Functions oferece suporte a funções HTTP, funções chamáveis e funções em segundo plano acionadas por Cloud Firestore, Realtime Database, Cloud Storage for Firebase, Authentication e Pub/Sub. Os métodos Cloud Firestore, Realtime Database e os emuladores Cloud Storage for Firebase têm emulação de Firebase Security Rules integrada.

Cloud
Firestore
Realtime
Database
Cloud
Storage
para Firebase
Authentication Cloud
Functions
Cloud
Pub/Sub
Extensões
SDK do Android n/a n/a
SDK do iOS n/a n/a
SDK da Web n/a n/a
SDK Admin para Node.js n/a n/a

Próximas etapas

Outras ferramentas para prototipagem e testes

O pacote do emulador é complementado por outras ferramentas de prototipagem e testes.

Ferramentas de teste do Cloud Functions. O ambiente da CLI do Firebase oferece várias maneiras de prototipar e testar funções:

  • O emulador do Cloud Functions, parte do Pacote de emuladores. Ele é interoperável com dados locais ativos e regras de segurança nos emuladores do Firestore e/ou do Realtime Database.
  • O shell do Cloud Functions, que permite o desenvolvimento e a prototipagem de funções interativas e iterativas. O shell emprega o emulador do Cloud Functions com uma interface no estilo REPL para desenvolvimento. Nenhuma integração com os emuladores Cloud Firestore ou Realtime Database é fornecida. Usando o shell, simular dados e realizar chamadas de função para simular a interação com produtos que o Local Emulator Suite não oferece suporte atualmente: Analytics, Configuração remota e Crashlytics.
  • O SDK de teste do Firebase para Cloud Functions, um Node.js com framework mocha para desenvolvimento de funções. Na verdade, o SDK de teste do Cloud Functions fornece automação sobre o shell do Cloud Functions.

Saiba mais sobre o shell do Cloud Functions e o SDK de teste do Cloud Functions em Testar funções interativamente e Teste de unidade do Cloud Functions.

Ferramentas de teste de regras de segurança. O Pacote de emuladores é o melhor conjunto de ferramentas para testar regras de segurança. No entanto, você também pode usar:

  • O laboratório de testes de regras, parte do console Firebase. O laboratório de testes de regras oferece uma ótima experiência de primeiros passos interativa com o design das regras de segurança. Para mais informações, consulte Validar rapidamente as regras de segurança do Firebase.