ข้อมูลเบื้องต้นเกี่ยวกับ Firebase Local Emulator Suite

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

การพัฒนาในเครื่องด้วยชุดโปรแกรมจำลองภายในเหมาะสําหรับเวิร์กโฟลว์การประเมิน การสร้างต้นแบบ การพัฒนา และการผสานรวมอย่างต่อเนื่อง

การเพิ่ม Firebase Emulator Suite ลงในเวิร์กโฟลว์การพัฒนา

ก่อนเริ่มต้น

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

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

Firebase Local Emulator Suite คืออะไร

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

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

ชุดโปรแกรมจำลองในเวิร์กโฟลว์ในเครื่อง

เวิร์กโฟลว์การสร้างต้นแบบและทดสอบสามารถใช้ชุดโปรแกรมจำลองภายในได้หลายวิธี ดังนี้

  • การทดสอบ 1 หน่วย: เมื่อใช้ Firebase Test SDK คุณจะเขียนการทดสอบ 1 หน่วยใน Node.js ได้โดยใช้โปรแกรมรันทดสอบ mocha Test SDK มีวิธีการที่สะดวกหลายวิธีในการโหลดกฎการรักษาความปลอดภัย ล้างฐานข้อมูลในเครื่องระหว่างการทดสอบ และจัดการการโต้ตอบแบบซิงค์กับโปรแกรมจำลอง ซึ่งเหมาะสําหรับการเขียนการทดสอบแบบง่ายสําหรับการโต้ตอบกับฐานข้อมูลที่ไม่ได้ขึ้นอยู่กับตรรกะของแอป
  • การทดสอบการผสานรวม: โปรแกรมจำลองผลิตภัณฑ์แต่ละรายการในชุดโปรแกรมจำลองจะตอบสนองต่อการเรียก 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
ฐานข้อมูล
แบบ
เรียลไทม์
Cloud
Storage
for Firebase
การตรวจสอบสิทธิ์ Cloud
Functions
Cloud
Pub/Sub
ส่วนขยาย
Android SDK ไม่มี ไม่มี
iOS SDK ไม่มี ไม่มี
Web SDK ไม่มี ไม่มี
Node.js Admin SDK ไม่มี ไม่มี

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

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

ชุดโปรแกรมจำลองยังเสริมด้วยเครื่องมือสร้างต้นแบบและเครื่องมือทดสอบอื่นๆ

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

  • โปรแกรมจำลอง Cloud Functions ซึ่งเป็นส่วนหนึ่งของชุดโปรแกรมจำลอง โปรแกรมจำลองนี้ทำงานร่วมกันได้กับข้อมูลในเครื่อง ข้อมูลจริง และกฎการรักษาความปลอดภัยในโปรแกรมจำลอง Firestore และ/หรือโปรแกรมจำลอง Realtime Database
  • Shell ของ Cloud Functions ซึ่งช่วยให้คุณสร้างต้นแบบและพัฒนาการทํางานแบบอินเทอร์แอกทีฟซ้ำได้ Shell ใช้โปรแกรมจำลอง 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 และ Cloud Functions Test SDK ได้ในส่วนทดสอบฟังก์ชันแบบอินเทอร์แอกทีฟ และการทดสอบหน่วยของ Cloud Functions

เครื่องมือทดสอบกฎความปลอดภัย ชุดโปรแกรมจําลองเป็นชุดเครื่องมือที่แนะนําสําหรับการทดสอบกฎความปลอดภัย แต่คุณใช้สิ่งต่อไปนี้ได้ด้วย

  • พื้นที่ทดลองกฎ ซึ่งเป็นส่วนหนึ่งของคอนโซล Firebase เพลย์กราวด์กฎเป็นประสบการณ์เริ่มต้นแบบอินเทอร์แอกทีฟที่ยอดเยี่ยมเกี่ยวกับการออกแบบกฎการรักษาความปลอดภัย ดูข้อมูลเพิ่มเติมได้ที่หัวข้อตรวจสอบกฎความปลอดภัยของ Firebase อย่างรวดเร็ว