Firebase 로컬 에뮬레이터 도구 모음 소개

Firebase 로컬 에뮬레이터 도구 모음은 Cloud Firestore, 실시간 데이터베이스, Firebase용 Cloud Storage, 인증, Firebase 호스팅, Cloud Functions(베타), Pub/Sub(베타), Firebase Extensions(베타)를 사용하여 로컬에서 앱을 빌드하고 테스트하려는 개발자를 위한 고급 도구 모음으로, 빠른 실행과 프로토타입 제작에 도움이 되는 풍부한 사용자 인터페이스를 제공합니다.

로컬 에뮬레이터 도구 모음을 사용한 로컬 개발은 평가, 프로토타입 제작, 개발, 지속적 통합 워크플로에 적합합니다.

개발 워크플로에 Firebase 로컬 에뮬레이터 도구 모음 추가

시작하기 전에

Firebase 로컬 에뮬레이터 도구 모음을 살펴보기 전에 Firebase 제품 및 Firebase 개발 모델을 숙지하는 것이 좋습니다.

  • 플랫폼 및 제품(Apple, Android 또는 )의 Firebase 시작하기 주제를 읽어보세요.
  • 선택한 플랫폼에서 바로 실행할 수 있는 빠른 시작 앱을 다운로드한 다음 코드를 읽고 실행합니다. FriendlyEats 빠른 시작 앱(iOS, Android 또는 )을 사용하면 좋습니다.

Firebase 로컬 에뮬레이터 도구 모음이란 무엇인가요?

Firebase 로컬 에뮬레이터 도구 모음은 Firebase 서비스의 동작을 정확하게 모방하도록 설계된 개별 서비스 에뮬레이터로 구성됩니다. 즉, 프로덕션 데이터를 터치하지 않고도 앱을 이러한 에뮬레이터에 직접 연결하여 통합 테스트 또는 QA를 수행할 수 있습니다.

예를 들어 앱을 Cloud Firestore 에뮬레이터에 연결하여 테스트 중에 문서를 안전하게 읽고 쓸 수 있습니다. 이러한 쓰기는 Cloud Functions 에뮬레이터에서 함수를 트리거할 수 있습니다. 하지만 에뮬레이터를 사용하거나 구성할 수 없어도 앱은 계속해서 프로덕션 Firebase 서비스와 통신합니다.

로컬 워크플로의 에뮬레이터 도구 모음

프로토타입 제작 및 테스트 워크플로에서는 여러 방법으로 로컬 에뮬레이터 도구 모음을 사용할 수 있습니다.

  • 단위 테스트: Firebase Test SDK를 사용하면 Mocha 테스트 실행기로 Node.js에 단위 테스트를 작성할 수 있습니다. Test SDK는 보안 규칙을 로드하고, 테스트 간 로컬 데이터베이스를 삭제하며, 에뮬레이터와의 동기식 상호 작용을 관리할 수 있는 몇 가지 편리한 메서드를 제공합니다. 앱의 로직에 종속되지 않는 데이터베이스 상호작용에 대한 간단한 테스트를 작성하는 데 유용합니다.
  • 통합 테스트: 에뮬레이터 도구 모음의 각 개별 제품 에뮬레이터는 프로덕션 Firebase 서비스와 마찬가지로 SDK 및 REST API 호출에 응답합니다. 따라서 자체 테스트 도구를 사용하여 로컬 에뮬레이터 도구 모음을 백엔드로 사용하는 독립 실행형 통합 테스트를 작성할 수 있습니다.
  • 수동 테스트: 실행 중인 애플리케이션을 로컬 에뮬레이터 도구 모음에 연결하여 프로덕션 데이터를 손상시키거나 테스트 프로젝트를 구성하지 않고도 Firebase 앱을 수동으로 테스트할 수 있습니다.
  • 제품 평가: 안전한 로컬 환경에서 Firebase Extensions를 설치 및 관리하고 청구 비용을 최소화하면서 Firebase Extensions의 기능을 보다 잘 파악할 수 있습니다.

어떤 Firebase 기능과 플랫폼이 지원되나요?

Firebase 로컬 에뮬레이터 도구 모음을 사용하면 상호 운용 가능한 방식으로 핵심 제품을 사용하여 코드를 테스트할 수 있습니다. Cloud Functions 에뮬레이터는 Cloud Firestore, 실시간 데이터베이스, Firebase용 Cloud Storage, 인증, Pub/Sub에서 트리거한 HTTP 함수, 호출 가능한 함수, 백그라운드 함수를 지원합니다. Cloud Firestore, 실시간 데이터베이스, Firebase용 Cloud Storage 에뮬레이터에는 Firebase 보안 규칙 에뮬레이션이 내장되어 있습니다.

Cloud
Firestore
실시간
데이터베이스
Firebase용
Cloud
Storage
인증 Cloud
Functions
Cloud
Pub/Sub
Firebase Extensions
Android SDK 해당 없음 해당 없음
iOS SDK 해당 없음 해당 없음
웹 SDK 해당 없음 해당 없음
Node.js Admin SDK 해당 없음 해당 없음

다음 단계

프로토타입 제작 및 테스트를 위한 기타 도구

에뮬레이터 도구 모음은 다른 프로토타입 및 테스트 도구로 보완됩니다.

Cloud Functions 테스트 도구 Firebase CLI 환경은 함수의 프로토타입을 만들고 테스트하는 다음과 같은 방법을 제공합니다.

  • 에뮬레이터 도구 모음의 일부인 Cloud Functions 에뮬레이터. 이 에뮬레이터는 Firestore 에뮬레이터 및 실시간 데이터베이스 에뮬레이터의 로컬, 실시간 데이터 및 보안 규칙과 상호 운용이 가능합니다.
  • 대화형의 반복 함수 프로토타입 제작 및 개발을 지원하는 Cloud Functions 셸. 이 셸은 개발용 REPL 스타일 인터페이스를 갖춘 Cloud Functions 에뮬레이터를 사용합니다. Cloud Firestore 또는 실시간 데이터베이스 에뮬레이터와의 통합은 제공되지 않습니다. 셸을 사용하여 데이터를 모의 처리하고 함수 호출을 수행하여 로컬 에뮬레이터 도구 모음에서 현재 지원하지 않는 제품(예: 애널리틱스, 원격 구성, Crashlytics 등)과의 상호작용을 시뮬레이션합니다.
  • Cloud Functions용 Firebase Test SDK: 함수 개발용 Mocha 프레임워크가 있는 Node.js입니다. 실제로 Cloud Functions Test SDK는 Cloud Functions 셸을 기반으로 자동화 기능을 제공합니다.

Cloud Functions 셸 및 Cloud Functions Test SDK에 대한 자세한 내용은 대화형으로 함수 테스트Cloud Functions 단위 테스트를 참조하세요.

보안 규칙 테스트 도구 에뮬레이터 도구 모음은 보안 규칙을 테스트하는 데 권장되는 도구 세트입니다. 하지만 다음을 사용할 수도 있습니다.

  • Firebase Console에 포함된 규칙 플레이그라운드. 규칙 플레이그라운드는 보안 규칙 설계를 시작하는 데 적합한 대화형 환경을 제공합니다. 자세한 내용은 Firebase 보안 규칙의 신속한 검증을 참조하세요.