Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

บทนำสู่ Firebase Local Emulator Suite

Firebase Local Emulator Suite เป็นชุดเครื่องมือขั้นสูงสำหรับนักพัฒนาที่ต้องการสร้างและทดสอบแอปในพื้นที่โดยใช้ Cloud Firestore, ฐานข้อมูลเรียลไทม์, ที่เก็บข้อมูลบนคลาวด์, การตรวจสอบสิทธิ์, ฟังก์ชันระบบคลาวด์, Pub/Sub และ Firebase Hosting มันมีอินเทอร์เฟซผู้ใช้ที่หลากหลายเพื่อช่วยให้คุณเรียกใช้และสร้างต้นแบบได้อย่างรวดเร็ว

การพัฒนาในพื้นที่ด้วย Local Emulator Suite อาจเหมาะสำหรับการสร้างต้นแบบ การพัฒนา และเวิร์กโฟลว์การรวมอย่างต่อเนื่อง

การเพิ่ม Firebase Local Emulator Suite ให้กับเวิร์กโฟลว์การพัฒนาของคุณ

ก่อนจะเริ่ม

ก่อนที่คุณจะสำรวจ Firebase Local Emulator Suite เราขอแนะนำให้คุณทำความเข้าใจกับผลิตภัณฑ์ Firebase และโมเดลการพัฒนา Firebase:

  • อ่านหัวข้อ เริ่มต้นใช้งาน Firebase สำหรับแพลตฟอร์มและผลิตภัณฑ์ของคุณ ( iOS , Android หรือ เว็บ )
  • ดาวน์โหลดแอป Quickstart ที่พร้อมใช้งานบนแพลตฟอร์มที่คุณเลือก จากนั้นอ่านและรันโค้ด แอปเริ่มต้นอย่างรวดเร็วของ FriendlyEats เป็นตัวเลือกที่ดี ( iOS , Android หรือ เว็บ )

Firebase Local Emulator Suite คืออะไร

Firebase Local Emulator Suite ประกอบด้วยตัวจำลองบริการแต่ละตัวที่สร้างขึ้นเพื่อเลียนแบบพฤติกรรมของบริการ Firebase อย่างแม่นยำ ซึ่งหมายความว่าคุณสามารถเชื่อมต่อแอปของคุณโดยตรงกับอีมูเลเตอร์เหล่านี้เพื่อทำการทดสอบการรวมหรือ QA โดยไม่ต้องแตะต้องข้อมูลการผลิต

ตัวอย่างเช่น คุณสามารถเชื่อมต่อแอปของคุณกับโปรแกรมจำลอง Cloud Firestore เพื่ออ่านและเขียนเอกสารในการทดสอบอย่างปลอดภัย การเขียนเหล่านี้อาจทริกเกอร์ฟังก์ชันในโปรแกรมจำลอง Cloud Functions อย่างไรก็ตาม แอปของคุณจะยังคงสื่อสารกับบริการ Firebase ที่ใช้งานจริงเมื่อไม่มีหรือกำหนดค่าโปรแกรมจำลอง

Emulator Suite ในเวิร์กโฟลว์ในพื้นที่ของคุณ

เวิร์กโฟลว์ต้นแบบและการทดสอบของคุณสามารถใช้ Local Emulator Suite ได้สามวิธี:

  • การทดสอบหน่วย : การใช้ Firebase Test SDK คุณสามารถเขียนการทดสอบหน่วยใน Node.js โดยใช้ตัวดำเนินการทดสอบมอคค่า Test SDK มีวิธีอำนวยความสะดวกหลายวิธีในการโหลดกฎความปลอดภัย ล้างฐานข้อมูลภายในระหว่างการทดสอบ และจัดการการโต้ตอบแบบซิงโครนัสกับอีมูเลเตอร์ เหมาะอย่างยิ่งสำหรับการเขียนการทดสอบอย่างง่ายสำหรับการโต้ตอบกับฐานข้อมูลที่ไม่ขึ้นอยู่กับตรรกะของแอปของคุณ
  • การทดสอบการรวม : โปรแกรมจำลองแต่ละผลิตภัณฑ์ใน Emulator Suite ตอบสนองต่อการเรียก SDK และ REST API เช่นเดียวกับบริการ Firebase ที่ใช้งานจริง ดังนั้นคุณจึงใช้เครื่องมือทดสอบของคุณเองเพื่อเขียนการทดสอบการรวมในตัวที่ใช้ Local Emulator Suite เป็นแบ็กเอนด์ได้
  • การทดสอบด้วยตนเอง : คุณสามารถเชื่อมต่อแอปพลิเคชันที่ทำงานอยู่ของคุณกับ Local Emulator Suite เพื่อทดสอบแอป Firebase ด้วยตนเอง โดยไม่ต้องเสี่ยงกับข้อมูลการผลิตหรือกำหนดค่าโครงการทดสอบ

รองรับฟีเจอร์และแพลตฟอร์มของ Firebase ใดบ้าง

Firebase Local Emulator Suite ให้คุณทดสอบโค้ดกับผลิตภัณฑ์หลักของเราในลักษณะที่ทำงานร่วมกันได้ โปรแกรมจำลอง Cloud Functions รองรับฟังก์ชัน HTTP, ฟังก์ชันที่เรียกใช้ได้ และฟังก์ชันพื้นหลังที่ทริกเกอร์โดย Cloud Firestore, ฐานข้อมูลเรียลไทม์, การตรวจสอบสิทธิ์ และ Pub/Sub; โปรแกรมจำลอง Cloud Functions ไม่สนับสนุนฟังก์ชันพื้นหลังที่เรียกใช้โดย Cloud Storage สำหรับ Firebase สำหรับโปรแกรมจำลอง Cloud Firestore และ Realtime Database การจำลองกฎความปลอดภัยจะถูกสร้างขึ้น

เมฆ
Firestore
เรียลไทม์
ฐานข้อมูล
เมฆ
ที่เก็บของ
การตรวจสอบสิทธิ์ เมฆ
ฟังก์ชั่น
เมฆ
ผับ/ย่อย
Android SDK n/a
iOS SDK n/a
เว็บ SDK n/a
Node.js ผู้ดูแลระบบ SDK n/a

ขั้นตอนถัดไป

เครื่องมืออื่นๆ สำหรับการสร้างต้นแบบและการทดสอบ

Emulator Suite เสริมด้วยเครื่องมือต้นแบบและทดสอบอื่นๆ

เครื่องมือทดสอบ Cloud Functions สภาพแวดล้อม Firebase CLI มีหลายวิธีในการสร้างต้นแบบและทดสอบฟังก์ชัน:

  • โปรแกรมจำลอง Cloud Functions ซึ่งเป็นส่วนหนึ่งของ Emulator Suite โปรแกรมจำลองนี้สามารถทำงานร่วมกับข้อมูลท้องถิ่น ข้อมูลสด และกฎความปลอดภัยในตัวจำลอง Firestore และ/หรือโปรแกรมจำลองฐานข้อมูลเรียลไทม์
  • เชลล์ Cloud Functions ซึ่งช่วยให้สามารถสร้างต้นแบบและการพัฒนาฟังก์ชันแบบวนซ้ำแบบโต้ตอบได้ เชลล์ใช้โปรแกรมจำลอง Cloud Functions พร้อมอินเทอร์เฟซแบบ REPL สำหรับการพัฒนา ไม่มีการผสานรวมกับโปรแกรมจำลอง Cloud Firestore หรือ Realtime Database เมื่อใช้เชลล์ คุณจะจำลองข้อมูลและเรียกใช้ฟังก์ชันเพื่อจำลองการโต้ตอบกับผลิตภัณฑ์ที่ Local Emulator Suite ไม่รองรับในปัจจุบัน ได้แก่ Cloud Storage, Pub/Sub, Analytics, Remote Config, Storage, Auth และ Crashlytics
  • Firebase Test SDK สำหรับ Cloud Functions ซึ่งเป็น Node.js ที่มีเฟรมเวิร์กมอคค่าสำหรับการพัฒนาฟังก์ชัน ผลที่ได้คือ SDK การทดสอบฟังก์ชันระบบคลาวด์ให้การทำงานอัตโนมัติบนเชลล์ของ Cloud Functions

คุณสามารถหาข้อมูลเพิ่มเติมเกี่ยวกับ Cloud Functions Shell และ Cloud Functions Test SDK ได้ที่ ฟังก์ชัน Test แบบโต้ตอบ และ การทดสอบหน่วยของ Cloud Functions

เครื่องมือทดสอบกฎความปลอดภัย Emulator Suite เป็นชุดเครื่องมือที่เหมาะสำหรับการทดสอบกฎความปลอดภัย อย่างไรก็ตาม คุณสามารถใช้: