0Pricing
Sveltejs Academy · درس

محاكاة Modules وFetch

حاكِ الوحدات الخارجية واستدعاءات fetch ووحدات SvelteKit في اختبارات الوحدة.

محاكاة Modules وFetch درس مجاني في Sveltejs Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Sveltejs Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Sveltejs Academy 4 دروس في المجموع.

لماذا المحاكاة

ينبغي أن تعزل الاختبارات الوحدة قيد الاختبار. حاكوا الوحدات الخارجية لتجنّب استدعاءات الشبكة والاختبارات غير المستقرة.

vi.mock

يوفر Vitest الدالة vi.mock لاستبدال الوحدات.

vi.mock("$lib/api", () => ({ getUser: () => ({ name: "Mock" }) }));

محاكاة fetch

استخدموا vi.spyOn(global, "fetch") أو مكتبة مثل msw لمحاكاة واجهات API بصورة واقعية.

vi.spyOn(global, "fetch").mockResolvedValue({ json: () => ({ items: [] }) });

رفع الوحدات

تُرفع استدعاءات vi.mock إلى أعلى النطاق. صرّحوا بها في أعلى الملف.

استعادة المحاكاة

استخدموا vi.restoreAllMocks() في afterEach لتنظيف المحاكاة.

MSW لبروتوكول HTTP

يعترض Mock Service Worker الطلبات على طبقة الشبكة لتوفير سلوك واقعي لواجهات API في الاختبارات.

محاكاة وحدات SvelteKit

يمكنكم محاكاة $app/stores و$app/navigation ووحدات استيراد SvelteKit الأخرى لإجراء اختبارات معزولة.

محاكاة آمنة النوع

استخدموا vi.fn() مع تواقيع ذات أنواع لإنشاء spies آمنة النوع.

المسح بين الاختبارات

استخدموا vi.clearAllMocks() أو إعدادات beforeEach للبدء من حالة نظيفة.

المحاكاة الجزئية

حاكوا تصديرات محددة فقط من الوحدة مع إبقاء التصديرات الأخرى حقيقية.

المفاضلة بين الحقيقي والمحاكى

قد تجعل المحاكاة المفرطة الاختبارات بلا معنى. اختبروا التكامل باستخدام تطبيقات حقيقية عندما يكون ذلك مناسبًا.

تحقق سريع

ماذا تفعل vi.mock؟

مراجعة

استخدموا vi.mock وspies لعزل الوحدات، وفكّروا في MSW لمحاكاة واقعية لواجهات API على طبقة الشبكة.

الأسئلة الشائعة

هل درس «محاكاة Modules وFetch» مجاني؟

نعم — نص درس «محاكاة Modules وFetch» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Sveltejs Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Sveltejs Academy 4 دروس في المجموع.

ماذا ستتعلم في «محاكاة Modules وFetch»؟

حاكِ الوحدات الخارجية واستدعاءات fetch ووحدات SvelteKit في اختبارات الوحدة. تتمرن على Sveltejs Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Sveltejs Academy؟

لا تُشترط خبرة سابقة. Sveltejs Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «محاكاة Modules وFetch»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Sveltejs Academy هذا؟

نعم. كل درس في Sveltejs Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. إعداد Vitest لمشاريع Svelte
  2. @testing-library/svelte: ‏render وfireEvent
  3. اختبار Stores والتفاعلية
  4. محاكاة Modules وFetch
← العودة إلى Sveltejs Academy