Introdução ao conjunto de emuladores locais do Firebase

O Pacote de emuladores locais do Firebase é um conjunto de ferramentas avançadas para desenvolvedores que querem criar e testar apps localmente usando o Cloud Firestore, Realtime Database, Cloud Storage para Firebase, Authentication, Firebase Hosting, Cloud Functions (Beta), Pub/Sub (Beta) e as Extensões do Firebase (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.

Adicionar o Pacote de emuladores locais do Firebase aos seus fluxos 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 é o Pacote de emuladores locais do Firebase?

O Pacote de emuladores locais 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 nos testes. Essas gravações podem acionar funções no emulador do Cloud Functions. No entanto, o app vai continuar se comunicando 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 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 o Pacote de emuladores locais como back-end.
  • Testes manuais: conecte o aplicativo em execução ao Pacote de emuladores locais para testar o app 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 as Extensões do Firebase em um ambiente local seguro para entender melhor os recursos delas 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 do Cloud Functions oferece suporte a funções HTTP, funções chamáveis e funções em segundo plano acionadas pelo Cloud Firestore, Realtime Database, Cloud Storage para Firebase, Authentication e Pub/Sub. Os emuladores do Cloud Firestore, Realtime Database e Cloud Storage para Firebase simulam de forma integrada as regras de segurança do Firebase.

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 do Cloud Firestore ou do Realtime Database é fornecida. Com o shell, você simula dados e faz chamadas de função para simular a interação com produtos sem suporte no Pacote de emuladores locais: 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 estas opções:

  • O laboratório de testes de regras, parte do Console do 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.