Firebase Local Emulator Suite مجموعهای از ابزارهای پیشرفته برای توسعهدهندگانی است که به دنبال ساخت و آزمایش برنامههای محلی با استفاده از Cloud Firestore ، Realtime Database ، Cloud Storage for Firebase ، Authentication ، Firebase Hosting ، Cloud Functions (بتا)، Pub/Sub (بتا) و Firebase Extensions (بتا) هستند. این مجموعه یک رابط کاربری غنی ارائه میدهد تا به شما در اجرا و نمونهسازی سریع کمک کند.
توسعه محلی با Local Emulator Suite میتواند برای ارزیابی، نمونهسازی اولیه، توسعه و گردشهای کاری یکپارچهسازی مداوم شما مناسب باشد.

قبل از اینکه شروع کنی
قبل از اینکه مجموعه شبیهساز محلی Firebase را بررسی کنید، توصیه میکنیم با محصولات Firebase و مدل توسعه Firebase آشنا شوید:
- مباحث « شروع به کار با فایربیس» را برای پلتفرم و محصولات خود ( اپل ، اندروید یا وب ) مطالعه کنید.
- یک برنامهی شروع سریع آماده برای اجرا را روی پلتفرم مورد نظر خود دانلود کنید، سپس کد را بخوانید و اجرا کنید. برنامهی شروع سریع FriendlyEats انتخاب خوبی است ( iOS ، اندروید یا وب ).
Firebase Local Emulator Suite چیست؟
مجموعه شبیهساز محلی Firebase شامل شبیهسازهای سرویس مجزایی است که برای تقلید دقیق رفتار سرویسهای Firebase ساخته شدهاند. این بدان معناست که میتوانید برنامه خود را مستقیماً به این شبیهسازها متصل کنید تا تست یکپارچهسازی یا QA را بدون دست زدن به دادههای عملیاتی انجام دهید.
برای مثال، میتوانید برنامه خود را به شبیهساز Cloud Firestore متصل کنید تا اسناد را در حالت آزمایشی با خیال راحت بخوانید و بنویسید. این نوشتنها ممکن است توابعی را در شبیهساز Cloud Functions فعال کنند. با این حال، برنامه شما همچنان به ارتباط با سرویسهای Firebase در حالت عملیاتی ادامه خواهد داد، حتی زمانی که شبیهسازها در دسترس یا پیکربندی نشده باشند.

مجموعه شبیهساز در گردشهای کاری محلی شما
نمونه اولیه و گردش کار آزمایشی شما میتواند از مجموعه شبیهساز محلی به چندین روش استفاده کند:
- تستهای واحد : با استفاده از Firebase Test SDK، میتوانید تستهای واحد را در Node.js با استفاده از mocha test runner بنویسید. Test SDK چندین روش راحت برای بارگذاری قوانین امنیتی، پاکسازی پایگاه داده محلی بین تستها و مدیریت تعامل همزمان با شبیهسازها ارائه میدهد. این ابزار برای نوشتن تستهای ساده برای تعاملات پایگاه داده که به منطق برنامه شما بستگی ندارند، عالی است.
- تستهای یکپارچهسازی : هر شبیهساز محصول در مجموعه شبیهساز، درست مانند سرویسهای Firebase در مرحله تولید، به فراخوانیهای SDK و REST API پاسخ میدهد. بنابراین میتوانید از ابزارهای تست خودتان برای نوشتن تستهای یکپارچهسازی مستقل که از Local Emulator Suite به عنوان backend استفاده میکنند، استفاده کنید.
- تستهای دستی : شما میتوانید برنامه در حال اجرا خود را به Local Emulator Suite متصل کنید تا برنامه Firebase خود را به صورت دستی و بدون به خطر انداختن دادههای عملیاتی یا پیکربندی یک پروژه آزمایشی، آزمایش کنید.
- ارزیابیهای محصول : شما میتوانید Firebase Extensions در یک محیط محلی امن نصب و مدیریت کنید و ضمن به حداقل رساندن هزینههای صدور صورتحساب، قابلیتهای آنها را بهتر درک کنید.
کدام ویژگیها و پلتفرمهای فایربیس پشتیبانی میشوند؟
مجموعه شبیهساز محلی 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 داخلی هستند.
| ابر فایراستور | بیدرنگ پایگاه داده | ابر ذخیرهسازی برای فایربیس | احراز هویت | ابر توابع | ابر میخانه/ساب | افزونهها | |
|---|---|---|---|---|---|---|---|
| کیت توسعه نرمافزار اندروید (SDK) | ناموجود | ناموجود | |||||
| کیت توسعه نرمافزار iOS | ناموجود | ناموجود | |||||
| SDK وب | ناموجود | ناموجود | |||||
| SDK مدیریت Node.js | ناموجود | ناموجود |
مراحل بعدی
با یک راهنمای گام به گام Local Emulator Suite شروع کنید که نشان میدهد چگونه میتوانید نمونهسازی اولیه آفلاین از یک پایگاه داده و Cloud Functions انجام دهید.
یاد بگیرید که چگونه Local Emulator Suite نصب و پیکربندی کنید .
ابزارهای دیگر برای نمونهسازی و آزمایش
مجموعه شبیهساز با سایر ابزارهای نمونهسازی و آزمایش تکمیل میشود.
ابزارهای تست توابع ابری. محیط Firebase CLI روشهای مختلفی برای نمونهسازی اولیه و تست توابع ارائه میدهد:
- شبیهساز توابع ابری، بخشی از مجموعه شبیهسازها. این شبیهساز با دادههای محلی و زنده و قوانین امنیتی در شبیهساز Firestore و/یا شبیهساز پایگاه داده بلادرنگ (Realtime Database) سازگار است.
- پوسته توابع ابری (Cloud Functions shell)، که امکان نمونهسازی و توسعه توابع تعاملی و تکراری را فراهم میکند. این پوسته از شبیهساز توابع ابری با رابط کاربری به سبک REPL برای توسعه استفاده میکند. هیچ ادغامی با شبیهسازهای Cloud Firestore یا Realtime Database ارائه نمیشود. با استفاده از این پوسته، شما دادهها را شبیهسازی میکنید و فراخوانیهای تابع را برای شبیهسازی تعامل با محصولاتی که مجموعه Local Emulator Suite در حال حاضر از آنها پشتیبانی نمیکند، انجام میدهید: Analytics، Remote Config و Crashlytics.
- کیت توسعه نرمافزار Firebase Test برای توابع ابری، یک چارچوب Node.js با mocha برای توسعه توابع. در واقع، کیت توسعه نرمافزار Cloud Functions Test، اتوماسیون را در پوسته Cloud Functions فراهم میکند.
میتوانید اطلاعات بیشتری در مورد پوسته Cloud Functions و SDK تست Cloud Functions را در Test functions interactively و Unit testing of Cloud Functions بیابید.
ابزارهای تست قوانین امنیتی. مجموعه شبیهساز، مجموعه ابزار ترجیحی برای تست قوانین امنیتی است. با این حال، میتوانید از موارد زیر نیز استفاده کنید:
- زمین بازی قوانین، بخشی از کنسول Firebase . زمین بازی قوانین یک تجربه تعاملی عالی برای شروع کار با طراحی قوانین امنیتی ارائه میدهد. برای اطلاعات بیشتر به «اعتبارسنجی سریع قوانین امنیتی Firebase» مراجعه کنید.