شرح المفهوم
"أساسيات بيئة تشغيل JavaScript: التركيز على الاختبار" تقدم عادة التحقق من السلوك بدلاً من افتراضه. ستعمل مع حالة اختبار صغيرة، وتفهم ما يثبته الاختبار، ثم توسعها ببضعة أمثلة ذات معنى. الهدف هو رؤية الاختبارات كملاحظات، لا كمجرد إجراء شكلي. يجب أن يكون اختبار المبتدئين الجيد سهل القراءة، وسريع التشغيل، وواضحًا بشأن ما فشل إذا حدث خطأ ما. يساعدك هذا الدرس على ربط منطق JavaScript اليومي بحالات اختبار بسيطة حتى تتمكن من التحقق من المدخلات العادية وحالات الحافة بثقة.
أين تضع الكود
- ابدأ بالمتغيرات والمدخلات. استخدم بناء جملة المتصفح أو `Node.js` بوضوح.
- أضف منطق المعالجة في القسم الأوسط.
- اختتم بالمخرجات والتحقق السريع.
مرجع الأوامر
- اقرأ كل اسم اختبار أولاً وتوقع النتيجة المتوقعة قبل تشغيل أي شيء.
- أضف اختبارًا آخر لشكل إدخال مختلف، مثل الصفر، القيم السالبة، أو الأرقام العشرية.
- غيّر الدالة عمدًا، أعد تشغيل الاختبارات، ولاحظ كيف تساعدك رسالة الفشل في التصحيح.
- اجعل أسماء الاختبارات محددة بما يكفي ليفهم شخص آخر الهدف دون قراءة الملف بأكمله.
دليل خطوة بخطوة
- شغّل الاختبارات الموجودة مرة واحدة لتعرف النتيجة الأساسية.
- اقرأ الدالة وحدد أي سلوك مغطى بالفعل وأي سلوك لم يتم اختباره بعد.
- أضف اختبارًا لحالة عادية واختبارًا لحالة حافة بأسماء واضحة.
- عطّل الدالة عمدًا لفترة وجيزة لتتأكد أن الاختبارات تلتقط الخطأ بالفعل.
- أعد الكود الصحيح وأعد تشغيل كل شيء حتى تنجح المجموعة الكاملة.
تمارين تطبيقية
- اكتب اختبارات لدالة مساعدة مثل `multiply` أو `divide` أو `formatLabel` وقم بتغطية حالتين مختلفتين على الأقل.
- أضف اختبارًا فاشلاً أولاً، ثم حدّث الدالة بحيث ينجح الاختبار.
- خذ اسم اختبار غامض وأعد صياغته بحيث يصبح القصد واضحًا على الفور.
تحديات برمجية
- أنشئ دالة صغيرة بثلاثة اختبارات على الأقل تغطي السلوك الطبيعي، وحالة حافة، ومدخلًا مفاجئًا.
- أعد هيكلة مجموعة من الاختبارات الضعيفة إلى مجموعة أصغر من الاختبارات الأقوى بأسماء أفضل وتوقعات أوضح.
مهام تمرين صغيرة
- أضف اختبارًا واحدًا لحالة حافة.
- أعد تسمية اختبار واحد ليكون غرضه أوضح.
- اكتب سطرًا واحدًا يشرح السلوك الذي يحميه ملف الاختبار الخاص بك.
خطأ شائع
Skipping input validation or mixing logic/output in one unstructured block.
تحدٍ مصغّر من الواقع
Build a small real-life example for this lesson topic using 3 clear steps: input, process, output.