Firebase Local Emulator Suite هي مجموعة من الأدوات المتقدّمة للمطوّرين الذين يتطلّعون إلى إنشاء التطبيقات واختبارها محليًا باستخدام Cloud Firestore وRealtime Database وCloud Storage for Firebase وAuthentication وFirebase Hosting وCloud Functions (إصدار تجريبي) وPub/Sub (إصدار تجريبي) وFirebase Extensions (إصدار تجريبي). توفّر واجهة مستخدم غنية لمساعدتك في بدء العمل وإنشاء نماذج أولية بسرعة.
يمكن أن تكون عملية التطوير المحلية باستخدام "مجموعة أدوات المحاكاة المحلية" مناسبة لعمليات التقييم وإنشاء النماذج الأولية والتطوير ودمج سير العمل بشكل مستمر.
قبل البدء
قبل استكشاف "مجموعة أدوات المحاكاة المحلية" من Firebase، ننصحك بالتعرّف على منتجات Firebase ونموذج تطوير Firebase:
- اطّلِع على مواضيع بدء استخدام Firebase الخاصة بمنصّتك ومنتجاتك (Apple أو Android أو الويب).
- نزِّل تطبيقًا سريعًا جاهزًا للتشغيل على المنصة التي تختارها، ثم اقرأ الرمز ونفِّذه. يُعدّ تطبيق التشغيل السريع FriendlyEats خيارًا جيدًا (iOS أو Android أو الويب).
ما المقصود بـ Firebase Local Emulator Suite؟
تتألف "مجموعة أدوات المحاكاة المحلية لـ Firebase" من أدوات محاكاة فردية للخدمات مصمّمة لمحاكاة سلوك خدمات Firebase بدقة. وهذا يعني أنّه يمكنك ربط تطبيقك مباشرةً بهذه المحاكيات لإجراء اختبارات الدمج أو ضمان الجودة بدون التأثير في بيانات الإنتاج.
على سبيل المثال، يمكنك ربط تطبيقك بمحاكي Cloud Firestore لقراءة المستندات وكتابتها بأمان أثناء الاختبار. وقد تؤدي عمليات الكتابة هذه إلى تشغيل دوال في محاكي Cloud Functions. ومع ذلك، سيظل تطبيقك يتواصل مع خدمات Firebase المتاحة للجميع عندما لا تكون المحاكيات متاحة أو تم إعدادها.

استخدام "مجموعة أدوات المحاكاة" في مهام سير العمل المحلية
يمكن أن يستفيد النموذج الأوّلي وسير عمل الاختبار من "مجموعة أدوات المحاكاة المحلية" بعدة طرق، منها:
- اختبارات الوحدة: باستخدام حزمة تطوير البرامج (SDK) الخاصة بالاختبار في Firebase، يمكنك كتابة اختبارات الوحدة في Node.js باستخدام أداة تنفيذ اختبارات Mocha. توفر حزمة تطوير البرامج (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 |
Realtime Database |
مساحة التخزين السحابية لـ Firebase |
المصادقة | Cloud Functions |
Cloud Pub/Sub |
الإضافات | |
|---|---|---|---|---|---|---|---|
| حزمة تطوير البرامج (SDK) لنظام التشغيل Android | لا ينطبق | لا ينطبق | |||||
| حزمة تطوير البرامج (SDK) لنظام التشغيل iOS | لا ينطبق | لا ينطبق | |||||
| حزمة تطوير البرامج (SDK) للويب | لا ينطبق | لا ينطبق | |||||
| Node.js Admin SDK | لا ينطبق | لا ينطبق |
الخطوات التالية
البدء من خلال Local Emulator Suite جولة تفصيلية توضّح كيفية إنشاء نموذج أولي غير إلكتروني لقاعدة بيانات وCloud Functions.
كيفية تثبيت Local Emulator Suite وإعداده
أدوات أخرى لإنشاء النماذج الأولية واختبارها
يتم استكمال Emulator Suite بأدوات أخرى لإنشاء النماذج الأولية والاختبار.
أدوات اختبار Cloud Functions توفّر لك بيئة Firebase CLI عدة طرق لإنشاء نماذج أولية واختبار الدوال:
- محاكي Cloud Functions، وهو جزء من "مجموعة أدوات المحاكاة" يتوافق هذا المحاكي مع البيانات المحلية المباشرة وقواعد الأمان في محاكي Firestore و/أو محاكي Realtime Database.
- توفّر واجهة Cloud Functions، التي تتيح إنشاء نماذج أولية وتطوير الدوال بشكل تفاعلي وتكراري. يستخدم المحاكي Cloud Functions مع واجهة بنمط REPL للتطوير. لا يتوفّر أي تكامل مع المحاكيَين Cloud Firestore أو Realtime Database. باستخدام Shell، يمكنك محاكاة البيانات وإجراء طلبات الدوال لمحاكاة التفاعل مع المنتجات التي لا تتوافق مع Local Emulator Suite حاليًا، وهي: "إحصاءات Google" و"الإعداد عن بُعد" وCrashlytics.
- حزمة تطوير البرامج (SDK) الخاصة بالاختبار في Firebase لوظائف السحابة الإلكترونية، وهي إطار عمل Node.js مع Mocha لتطوير الوظائف في الواقع، توفّر حزمة تطوير البرامج (SDK) الخاصة بالاختبار في Cloud Functions ميزة التشغيل الآلي فوق واجهة Cloud Functions.
يمكنك العثور على مزيد من المعلومات حول واجهة سطر الأوامر الخاصة بـ Cloud Functions وCloud Functions Test SDK في اختبار الدوال بشكل تفاعلي واختبار الوحدات في Cloud Functions.
أدوات اختبار قواعد الأمان Emulator Suite هي مجموعة الأدوات المفضّلة لاختبار قواعد الأمان. ومع ذلك، يمكنك أيضًا استخدام:
- "ساحة تجارب القواعد"، وهي جزء من وحدة تحكّم Firebase توفّر "ساحة تجارب القواعد" تجربة تفاعلية رائعة للبدء في تصميم "قواعد الأمان". لمزيد من المعلومات، يُرجى الاطّلاع على التحقّق بسرعة من صحة "قواعد الأمان" في Firebase.