يعد وجود عدة تأكيدات في نفس الاختبار أمرًا جيدًا، ولكن عند فشل التأكيد، يتم إحباط الاختبار بأكمله ولا يتم اختبار التأكيدات الأخرى في نفس الاختبار.
اعتمادًا على ما تختبره وكيفية ترميزه، قد ترغب في تقسيم بعض الاختبارات إلى عدة اختبارات فرعية.
OverAssertive هو امتداد PHPUnit يقوم بالإبلاغ مباشرة في وحدة التحكم عن الاختبارات التي تحتوي على تأكيدات "كثيرة جدًا"، حيث "كثير جدًا" هو ما تحدده، لمساعدتك في فحص بعض الاختبارات وربما إعادة هيكلتها.
قم بتمكينه بجميع الإعدادات الافتراضية عن طريق إضافة ما يلي إلى ملف phpunit.xml
الخاص بمجموعة الاختبار الخاصة بك:
<phpunit bootstrap="vendor/autoload.php"> ... <المستمعون> <listener class="OzhPHPUnitListenerOverAssertiveTestsListener" /> </المستمعين> </phpunit>
إذا كنت لا تستخدم أداة التحميل التلقائي، فيمكنك أيضًا تحديد موقع المكتبة:
<phpunit bootstrap="boostrap.php"> ... <المستمعون> <listener class="OzhPHPUnitListenerOverAssertiveTestsListener" file="/path/to/OverAssertiveTestsListener.php" /> </المستمعين> </phpunit>
الآن قم بتشغيل مجموعة الاختبار الخاصة بك كالمعتاد. سيقوم OverAssertive بالإبلاغ عن الاختبارات المؤكدة في وحدة التحكم بعد اكتمال المجموعة.
يحتوي OverAssertive على معلمتين قابلتين للتكوين:
تنبيه العتبة - عدد التأكيدات التي ستجري اختبارًا على التأكيدات (الافتراضي: 10 تأكيدات)
reportLength - عدد الاختبارات التأكيدية الزائدة المضمنة في التقرير (الافتراضي: 10 اختبارات)
يتم تعيين معلمات التكوين هذه في phpunit.xml
عند إضافة المستمع:
<phpunit ...><!-- ... تكوينات أخرى للجناح هنا ... --><listeners> <listener class="OzhPHPUnitListenerOverAssertiveTestsListener"> <الوسائط> <صفيف> <العنصر الرئيسي = "alertThreshold"> <عدد صحيح>10</عدد صحيح> </العنصر> <العنصر الرئيسي = "طول التقرير"> <عدد صحيح>10</عدد صحيح> </العنصر> </صفيف> </الوسائط> </المستمع> </المستمعين> </phpunit>
شكرًا جزيلاً لـ phpunit-speedtrap
افعل ما شئت بحق الجحيم