عن المشروع

Enzyme هي أداة اختبار JavaScript لـ React تسهّل اختبار مخرجات مكونات React. تتيح للمطورين معالجة المخرجات المُقدَّمة والتنقل عبرها ومحاكاة وقت التشغيل بطرق معينة. صُممت واجهة برمجة التطبيقات (API) الخاصة بها لتكون بديهية ومرنة من خلال محاكاة واجهة jQuery للتعامل مع DOM والتنقل فيه. القدرات الرئيسية: - التصيير الضحل (Shallow rendering): تصيير المكون على مستوى واحد فقط والتحقق من ما يُرجعه، دون الحاجة إلى DOM. - التصيير الكامل للـ DOM (mount): تصيير المكونات في بيئة DOM حقيقية، مع دعم دوال دورة الحياة وتغييرات الخصائص ومحاكاة الأحداث. - التصيير الثابت (Static rendering): تصيير المكونات إلى ترميز HTML ثابت وتحليل البنية الناتجة. المهايئات (Adapters): تتطلب Enzyme مهايئًا يطابق إصدار React المستخدم. تغطي المهايئات الرسمية React 16.x و15.x و0.14.x و0.13.x. توجد مهايئات من جهات خارجية لكل من Preact وInferno. التوافق مع مشغّلات الاختبار: لا تفرض Enzyme رأيًا حول مشغّلات الاختبار أو مكتبات التأكيد. تستخدم أمثلة التوثيق Mocha وChai، وتوجد مكتبات مطابقة مصاحبة لكل من Jest وJasmine وshould.js وexpect. خطافات React (React Hooks): تدعم Enzyme خطافات React مع بعض القيود في التصيير الضحل بسبب مشاكل في مُصيِّر React الضحل (لا يتم استدعاء useEffect/useLayoutEffect، ولا يتم تخزين useCallback مؤقتًا). بالنسبة إلى mount مع React 16.8+، تغلّف Enzyme واجهات مثل simulate وsetProps وsetContext وinvoke باستخدام ReactTestUtils.act(). يتم التثبيت عبر npm، بتثبيت Enzyme بالإضافة إلى المهايئ المناسب. يستخدم الإعداد واجهة configure() عالية المستوى.