اختبار البيئات
يتناول هذا المستند العوامل التي يمكن أن تؤثر على بيئتك والتوصيات المتعلقة ببعض السيناريوهات.
منفذو الاختبار
- يتيح لك منفذو الاختبار مثل Jest, mocha, ava كتابة مجموعات اختبار على هيئه JavaScript وتشغيلها بصفتها جزءا من عملية التطوير الخاصة بك. بالإضافة إلى ذلك يتم تشغيل مجموعات الاختبار بصفتها جزءا من التكامل المستمر (CI).
- Jest متوافق على نطاق واسع مع مشاريع React، ودعم مميزات جديدة مثل الوحدات النمطيةو العداد ودعم
jsdom
. إذا كنت تستخدم Create React App إذن Jest موجود بالفعل مع تسطيب افتراضي مفيد. - المكتبات مثل mocha تعمل بشكل جيد في بيئات المتصفح الحقيقي، ويمكن أن تساعد في الاختبارات التي تحتاجها بشكل صريح.
- تُستخدم اختبارات End-to-End لاختبار تدفقات أطول عبر عدة صفحات، وتتطلب إعدادات مختلفة.
محاكاة واجهة التصيير
تعمل الاختبارات غالبًا في بيئة دون الوصول إلى واجهة التصيير الحقيقية مثل المتصفح. بالنسبة لهذه البيئات، نوصي بمحاكاة متصفح باستخدام jsdom
، وهو تطبيق متصفح خفيف الوزن يعمل داخل Node.js.
في معظم الحالات، يتصرف jsdom كالمتصفح العادي، لكن ليس به ميزات مثل layout و navigation. لا يزال هذا مفيدًا لمعظم اختبارات المكونات المستندة إلى الويب، لأنه يعمل بشكل أسرع من إعادة بدء تشغيل متصفح لكل اختبار. يتم تشغيله أيضًا في نفس عملية الاختبارات الخاصة بك، حتى تتمكن من كتابة التعليمات البرمجية لفحصها وتأكيدها على DOM.
تمامًا كما في المتصفح الحقيقي، تتيح لنا jsdom تصميم تفاعلات المستخدم؛ يمكن للاختبارات إرسال الأحداث في عقدات DOM، ثم مراقبة الآثار الجانبية لهذه الإجراءات والتأكيد عليها (مثال).
يمكن كتابة جزء كبير من اختبارات واجهة المستخدم باستخدام الإعداد أعلاه: استخدام Jest كمنفذ للاختبار، يتم تصييره إلى jsdom ، مع تفاعلات المستخدم المحددة كسلسلة من أحداث المتصفح، مدعومًا بـالمساعد act ()