محتويات الدورة

Svelte / المتقدم: العرض والموارد وأدلة الإصدار / الدرس 16

اختبار المكونات وload والأفعال والأدلة الآمنة

وافق ادعاء الاختبار مع المترجم وDOM والخادم والمصدر، بعينات حتمية وتشخيص لا يكشف الخاص.

وقت القراءة التقريبي: 4 دقيقةتاريخ مراجعة المحتوى
في هذه الصفحة

أهداف الدرس

  • افصل اختبار المساعد النقي عن اختبار المكون ودمج Kit.
  • أكد الهوية والآثار والتنظيف والتفاعل المتاح لا الحالة وحدها.

اختر الحد القابل للفشل فعلياً

يثبت المحقق قراره لا rune أوإكراه ربط. يضيف المكون بيئة DOM والمترجم، ويضيف Kit load والفعل وhook والتسلسل، ويفحص المتصفح التنقل والتحسين والبؤرة والإماهة. اختر أصغر مفيد وراجع الأداة، ولا تثبت أوتبدأ مشروعاً لحساب حتمي. استبدل المصدر قبل إنشاء اتصال أوقراءة اعتماد عرضية. يجب أن يصف التقرير ما استعمل فعلياً من بيئة، فقد ينجح اختبار خادم بلا DOM ولا يختبر شيئاً من دورة Effect التي لا تعمل إلا في المتصفح.

اشتق العينات من عقد المكون والمسار

تسمي JSON المطلوب لا النجاح. تحتاج القائمة تحريراً ثم ترتيباً والربط فراغاً وإعادة وEffect إعداداً وتنظيفاً والفعل سلطة وعدم كتابة. احفظ المباشر والتنقل لإعادة المكون. افصل رفض المجال وفشل المصدر واستعمل هوية آمنة وساعة ووعوداً مضبوطة لا نوماً أوخاصاً حياً. لا تثبت الحالة غياب أثر الرفض أوصحة المستأجر. تتحول البنود لاحقاً لتأكيدات بأداة مناسبة لكل حد، ولا يصير السجل نفسه نتيجة تجربة لمجرد أنه قابل للتحليل أوخضع لمراجعة شكلية.

json مصفوفة اختبار مكون ومسار اصطناعية
{"componentCases":["keyed-reorder-after-edit","binding-empty-invalid-reset","effect-rerun-cleanup"],"kitCases":["direct-load-vs-navigation","denied-action-no-write","enhanced-and-native-submit","safe-source-failure"],"execution":"plan-only"}

تصف القائمة التأكيدات المطلوبة لا اختبارات متصفح أوإطار مكتملة، وتحلل محلياً.

تحقق من سبق الرفض للكتابة المحمية محلياً

يفحص الموائم المستأجر قبل كاتب محقون؛ يسبب المنع صفراً والمؤهل واحداً. ليس جلسة أوhook أومعاملة، بل دليل ترتيب يحفظه الفعل الحقيقي. اختبر النطاق نفسه وأكد المراقب لا DENIED فقط. يثبت الدمج وصول locals موثوقة ومدخل محقق وعدم تجاوز آخر. قد يعود رد منع صحيح بعد أن كتبت خدمة مبكرة، ولهذا يهم فحص الأثر مستقلاً عن العرض. لا ينبغي للبديل أن يفتح مورداً حقيقياً حتى إذا كانت الحالة المسموحة ستستدعيه، فالغرض إبقاء الاختبار نقياً ومحدوداً.

javascript اختبار محلي كامل لسبق السياسة للأثر
function update(principal,tenant,writer){if(principal.tenant!==tenant)return {code:"DENIED"};return writer();}
let writes=0;const writer=()=>({revision:++writes});
console.assert(update({tenant:"lab-b"},"lab-a",writer).code==="DENIED");
console.assert(writes===0);
console.assert(update({tenant:"lab-a"},"lab-a",writer).revision===1);
console.assert(writes===1);

لا يستدعي المنع الكاتب، دون طلب أواعتماد أومصدر دائم أوإطار.

سجل مراحل آمنة ونتائج الموارد

استخدم معرفاً مراجعاً ومرحلة وفئة وعد مصدر محدوداً لا FormData أوملفاً أوحمولة خاصة. افصل المصدر والعرض والمتصفح ولا تجمع المتداخل زمناً. قد يبقى المصدر بعد مهلة بلا إلغاء. اربط داخلياً لا بهوية كثيرة أوstack عامة. سم المورد الذي نظف لا رسالة «أزيل المكون» لا تثبت المستمع أوالمهمة. يحفظ ذلك معنى الفحص التشغيلي؛ فقد تختفي الشاشة بينما يظل طلب خارجي أوفاصل دوري يعمل، فلا يصح تسمية زوال DOM دليلاً على تحرير كل ما بدأه المكون أثناء حياته.

اجعل ادعاءات التحقق قابلة للتكرار ومحدودة

سجل المشغل والحزم والمترجم والنماذج والحدود. لا يثبت النص الجدولة أونتيجة وهمية النموذج الأصلي أوأصل المتصفح. وسع لسبب تغيير أوقلق مبرر. يحلل المقرر المصفوفة وينفذ المراقب فقط دون أداة أومكون أومتصفح أوخادم أوقاعدة أوحمل. استخدم المثبت المعتمد لدمج مأذون واحفظ القيود. تساعد الدقة القارئ على إعادة الاختبار المناسب بدلاً من افتراض أن غياب خطأ في دالة عادية يعني نجاح ترجمة runes أوسلامة التزامن في تطبيق كامل.

الأخطاء الشائعة وإصلاحها

يسمى اختبار دالة محلية اختبار مكون مترجم

لماذا يحدث؟
تجاهل التقرير مترجماً وDOM لم ينفذا.
كيف تصلحه؟
سم أدلة المحلي والمكون والمسار والمتصفح منفصلة.
كيف تتجنب تكراره؟
اذكر التنفيذ الدقيق وما لم يختبر بجانب النتائج.

يرفض فعل بعد كتابة

لماذا يحدث؟
أكد الاختبار شكل الرد لا آثار المصدر المحمي.
كيف تصلحه؟
أكد صفر استدعاء للكاتب في كل فرع رفض.
كيف تتجنب تكراره؟
احفظ سماحاً ومنعاً بنطاق الكائن نفسه.

لا تنجح اختبارات async إلا بمدد نوم عشوائية

لماذا يحدث؟
ترك ترتيب الإكمال لتوقيت حي غير مضبوط.
كيف تصلحه؟
استخدم وعوداً وساعات وإشارات إكمال حتمية.
كيف تتجنب تكراره؟
اختبر وصول النتيجة القديمة أولاً والجديدة أولاً.

اختبر فهمك

1. ماذا يثبت مراقب الكاتب ولا تثبته حالة DENIED؟

اعرض الحل المشروح

يثبت أن الفرع لم يستدع الأثر قبل المنع؛ قد يكتب تنفيذ معيب ثم يرفض. لا يثبت المراقب المصادقة أوذرية المصدر، فاجمعه باختبارات المدخل والتخزين عند الإذن.

2. لماذا يفصل اختبار load المباشرة عن تنقل العميل؟

اعرض الحل المشروح

قد تختلف البيئة وإعادة المكون والاعتماد؛ تخفي إعادة التحميل نسخة قديمة أوتنظيفاً مفقوداً يظهر مع الاستعمال. افحصهما بالإعداد نفسه ولا تعد أحدهما شهادة للآخر.

أهم ما تعلمته

  • يطابق ادعاء الاختبار الحد الذي نفذ فعلياً.
  • تهم الهوية والآثار والتنظيف بجانب الإخراج المرئي.

المراجع الرسمية