Firebase Local Emulator Suite คือชุดเครื่องมือขั้นสูงสำหรับนักพัฒนาแอป ที่ต้องการสร้างและทดสอบแอปในเครื่องโดยใช้ Cloud Firestore, Realtime Database, Cloud Storage for Firebase, Authentication, Firebase Hosting, Cloud Functions (เบต้า) Pub/Sub (เบต้า) และ Firebase Extensions (เบต้า) โดยมีอินเทอร์เฟซผู้ใช้ที่สมบูรณ์ เพื่อช่วยให้คุณเริ่มต้นใช้งานและสร้างต้นแบบได้อย่างรวดเร็ว
การพัฒนาในเครื่องด้วยชุดโปรแกรมจำลองภายในอาจเหมาะกับเวิร์กโฟลว์การประเมิน การสร้างต้นแบบ การพัฒนา และการผสานรวมอย่างต่อเนื่อง
ก่อนเริ่มต้น
ก่อนที่จะสำรวจ Firebase Local Emulator Suite เราขอแนะนำให้คุณทำความคุ้นเคยกับผลิตภัณฑ์ Firebase และโมเดลการพัฒนา Firebase ดังนี้
- อ่านหัวข้อเริ่มต้นใช้งาน Firebase สำหรับแพลตฟอร์มและผลิตภัณฑ์ของคุณ (Apple, Android หรือ Web)
- ดาวน์โหลดแอปเริ่มต้นอย่างรวดเร็วที่พร้อมใช้งานบนแพลตฟอร์มที่คุณเลือก จากนั้นอ่าน และเรียกใช้โค้ด แอปเริ่มต้นอย่างรวดเร็วของ FriendlyEats เป็นตัวเลือกที่ดี (iOS, Android หรือเว็บ)
Firebase Local Emulator Suite คืออะไร
Firebase Local Emulator Suite ประกอบด้วยโปรแกรมจำลองบริการแต่ละรายการที่สร้างขึ้นเพื่อเลียนแบบลักษณะการทำงานของบริการ Firebase อย่างแม่นยำ ซึ่งหมายความว่าคุณสามารถเชื่อมต่อแอปกับโปรแกรมจำลองเหล่านี้ได้โดยตรงเพื่อทำการทดสอบการผสานรวมหรือ QA โดยไม่ต้องแตะต้องข้อมูลการผลิต
เช่น คุณเชื่อมต่อแอปกับโปรแกรมจำลอง Cloud Firestore เพื่อ อ่านและเขียนเอกสารในการทดสอบได้อย่างปลอดภัย การเขียนเหล่านี้อาจทริกเกอร์ฟังก์ชัน ในโปรแกรมจำลอง Cloud Functions อย่างไรก็ตาม แอปจะยังคงสื่อสารกับบริการ Firebase ที่ใช้งานจริงต่อไปเมื่อโปรแกรมจำลองไม่พร้อมใช้งานหรือไม่ได้กำหนดค่า

ชุดโปรแกรมจำลองในเวิร์กโฟลว์ภายใน
เวิร์กโฟลว์การสร้างต้นแบบและการทดสอบสามารถใช้ชุดโปรแกรมจำลองภายในได้หลายวิธี ดังนี้
- การทดสอบหน่วย: คุณสามารถเขียนการทดสอบหน่วยใน Node.js โดยใช้เครื่องมือเรียกใช้การทดสอบ Mocha ได้โดยใช้ Firebase Test SDK Test SDK มีเมธอดที่สะดวกหลายอย่างสำหรับการโหลดกฎการรักษาความปลอดภัย การล้างฐานข้อมูลในเครื่องระหว่างการทดสอบ และการจัดการการโต้ตอบแบบซิงโครนัสกับโปรแกรมจำลอง เหมาะสำหรับการเขียนการทดสอบอย่างง่ายสำหรับการโต้ตอบกับฐานข้อมูลที่ไม่ขึ้นอยู่กับตรรกะของแอป
- การทดสอบการผสานรวม: โปรแกรมจำลองผลิตภัณฑ์แต่ละรายการใน Emulator Suite จะตอบสนองต่อการเรียก SDK และ REST API เหมือนกับบริการ Firebase ที่ใช้งานจริง คุณจึงใช้เครื่องมือทดสอบของคุณเองเพื่อเขียนการทดสอบการผสานรวมแบบสแตนด์อโลน ที่ใช้ Local Emulator Suite เป็นแบ็กเอนด์ได้
- การทดสอบด้วยตนเอง: คุณสามารถเชื่อมต่อแอปพลิเคชันที่กําลังทํางานกับ Local Emulator Suiteเพื่อทดสอบแอป Firebase ด้วยตนเองโดยไม่ต้องเสี่ยงกับ ข้อมูลการผลิตหรือกําหนดค่าโปรเจ็กต์ทดสอบ
- การประเมินผลิตภัณฑ์: คุณสามารถติดตั้งและจัดการ Firebase Extensions ในสภาพแวดล้อมภายในที่ปลอดภัยและทำความเข้าใจความสามารถของเครื่องมือได้ดียิ่งขึ้น พร้อมทั้ง ลดต้นทุนการเรียกเก็บเงิน
Firebase รองรับฟีเจอร์และแพลตฟอร์มใดบ้าง
ชุดโปรแกรมจำลองภายในของ Firebase ช่วยให้คุณทดสอบโค้ดกับผลิตภัณฑ์หลักของเราได้ในลักษณะที่ทำงานร่วมกันได้ โปรแกรมจำลอง Cloud Functions รองรับ ฟังก์ชัน HTTP, ฟังก์ชันที่เรียกใช้ได้ และฟังก์ชันพื้นหลัง ที่ทริกเกอร์โดย Cloud Firestore, Realtime Database, Cloud Storage for Firebase, Authentication และ Pub/Sub โปรแกรมจำลอง Cloud Firestore, Realtime Database และ Cloud Storage for Firebase มีการจำลอง Firebase Security Rules ในตัว
| Cloud Firestore |
Realtime Database |
Cloud Storage for Firebase |
การตรวจสอบสิทธิ์ | Cloud Functions |
Cloud Pub/Sub |
ส่วนขยาย | |
|---|---|---|---|---|---|---|---|
| Android SDK | ไม่มี | ไม่มี | |||||
| iOS SDK | ไม่มี | ไม่มี | |||||
| Web SDK | ไม่มี | ไม่มี | |||||
| Admin SDK ของ Node.js | ไม่มี | ไม่มี |
ขั้นตอนถัดไป
เริ่มต้นใช้งานด้วย Local Emulator Suiteคำแนะนำแบบทีละขั้นตอนที่แสดงวิธีสร้างต้นแบบฐานข้อมูลแบบออฟไลน์และCloud Functions
เครื่องมืออื่นๆ สำหรับการสร้างต้นแบบและการทดสอบ
ชุดโปรแกรมจำลองได้รับการเสริมด้วยเครื่องมือสร้างต้นแบบและทดสอบอื่นๆ
เครื่องมือทดสอบ Cloud Functions สภาพแวดล้อม Firebase CLI มีวิธีสร้างต้นแบบและทดสอบฟังก์ชันหลายวิธี ดังนี้
- โปรแกรมจำลอง Cloud Functions ซึ่งเป็นส่วนหนึ่งของ Emulator Suite โปรแกรมจำลองนี้ทำงานร่วมกับข้อมูลและกฎการรักษาความปลอดภัยในเครื่องและแบบสดในโปรแกรมจำลอง Firestore และ/หรือโปรแกรมจำลอง Realtime Database ได้
- เชลล์ของ Cloud Functions ซึ่งช่วยให้สามารถสร้างต้นแบบและพัฒนาฟังก์ชันแบบอินเทอร์แอกทีฟและแบบวนซ้ำได้ เชลล์ใช้โปรแกรมจำลอง Cloud Functions ที่มีอินเทอร์เฟซสไตล์ REPL สำหรับการพัฒนา ไม่มีการผสานรวมกับโปรแกรมจำลอง Cloud Firestore หรือ Realtime Database การใช้เชลล์ คุณจะจำลองข้อมูลและเรียกใช้ฟังก์ชันเพื่อจำลองการโต้ตอบกับผลิตภัณฑ์ที่ Local Emulator Suite ไม่รองรับในปัจจุบัน ได้แก่ Analytics, การกำหนดค่าระยะไกล และ Crashlytics
- Firebase Test SDK สำหรับ Cloud Functions ซึ่งเป็น Node.js ที่มีเฟรมเวิร์ก Mocha สำหรับการพัฒนาฟังก์ชัน กล่าวคือ Cloud Functions Test SDK จะให้การ ทำงานอัตโนมัติบนเชลล์ของ Cloud Functions
ดูข้อมูลเพิ่มเติมเกี่ยวกับเชลล์ Cloud Functions และ SDK การทดสอบ Cloud Functions ได้ที่ทดสอบฟังก์ชันแบบอินเทอร์แอกทีฟและ การทดสอบหน่วยของ Cloud Functions
เครื่องมือทดสอบกฎความปลอดภัย ชุดโปรแกรมจำลองเป็นชุดเครื่องมือที่แนะนำสำหรับการ ทดสอบกฎความปลอดภัย อย่างไรก็ตาม คุณยังใช้สิ่งต่อไปนี้ได้ด้วย
- พื้นที่ทดลองกฎซึ่งเป็นส่วนหนึ่งของFirebaseคอนโซล สนามเด็กเล่นของกฎช่วยให้คุณได้รับประสบการณ์การเริ่มต้นใช้งานแบบอินเทอร์แอกทีฟที่ยอดเยี่ยม ในการออกแบบกฎการรักษาความปลอดภัย ดูข้อมูลเพิ่มเติมได้ที่ตรวจสอบกฎความปลอดภัยของ Firebase อย่างรวดเร็ว