
في هذه المشكلة، الموضوع الذي سنناقشه هو اختبار JavaScript للتحقق مما إذا كانت حالة المكونات ووضع عملها كما هو متوقع، وسنقدم أيضًا طريقة اختبار يمكنها كتابة حالات الاختبار بسهولة. الاختبار المذكور هنا يستخدم بالطبع طرق اختبار آلية، وهو جزء مهم من ضمان جودة البرمجيات (QA). بقدر ما يتعلق الأمر بقائمة الانتظار الذكية التي تم تقديمها في هذه السلسلة من المقالات، فإن أهداف الاختبار لدينا تشمل ما يلي:
بالنسبة للهدف الأول، ما عليك سوى التحقق من أن خصائص الكائن بعد إنشائه كما هو متوقع. لقد ذكرنا "التوافق مع التوقعات" عدة مرات، وتم تصميم Assert لهذا الغرض. ببساطة، التأكيد هو التأكد من أن التعبير الذي تم اختباره يؤدي إلى "صحيح"، وإلا، قم بإخطار المختبر بطريقة ما ومساعدته في تحديد حالة الاختبار التي فشل التأكيد فيها.
الهدف الثاني أكثر تعقيدًا بعض الشيء. نظرًا لأننا نخفي قائمة الانتظار المصنفة (_sorted) في الإغلاق أثناء تشفير المكونات وتنفيذها، فلا يمكن الوصول إليها من الخارج. هناك طريقتان يجب مراعاتهما: (1) إعادة بناء الكود لزيادة قابلية اختبار الكود. هناك أيضًا طريقتان لإعادة البناء: (أ) تعيين مفتاح التصحيح وكشف _sorted للخارج عند تشغيله (ب) ؛ أضف ملفات مستقلة، وقم بربط الكود بطريقة بناء لإنشاء نسخة تجريبية في النهاية. (2) اختبار نتائج السلوك بدلاً من العملية. تتعمق الطريقة الأولى بشكل أساسي في حالة تشغيل المكون، بينما تتحقق هذه الطريقة فقط من نتائج تشغيل المكون. تستخدم هذه المشكلة طريقة الاختبار الأخيرة، وتُترك طريقة الاختبار الأولى للقراء المهتمين للتدرب عليها :)
تجدر الإشارة إلى أنني شخصيا لا أتفق مع الطريقة الأولى أ. اسمحوا لي أولاً أن أتحدث عن مفهوم التصميم لقائمة انتظار المهام هذه:
المصدر: Alipay UED