إنه مكمل لـ # 1022 مغلق بإصدار 5.0.
أعتقد أن سطر أوامر مثل --repeat
يجب أن يكون مفيدًا لتجربة الاختبارات الفاشلة الأولى.
يجب أن يعمل على هذا النحو: عند تشغيل phpunit ، سيتم إنشاء ملف مؤقت يجب أن يحتوي على معلومات حول أي اختبارات فاشلة (بشكل أساسي: اسم الفئة والاختبار وفهرس الاختبار إذا كان يستخدم مزود بيانات).
[
{ "class": "MyTest", "method": "testSingle", "index": null },
{ "class": "MyTest", "method": "testWithDataProvider", "index": 14 },
{ "class": "MyTest", "method": "testWithDataProvider", "index": 19 },
]
بعد حدوث خطأ ، يمكن للمستخدم استخدام الأمر --repeat
لتشغيل phpunit في البداية هذه الاختبارات الفاشلة. إذا لم يتم العثور على المزيد من الأخطاء ، فيمكن أن يستمر phpunit في تشغيل جميع الاختبارات الأخرى (باستثناء الاختبارات التي فشلت سابقًا).
حالة مثال:
> phpunit
FAILURES!
Tests: 100, Assertions: 500, Failures: 3.
1. MyTest::testSingle() expects string by get int;
2. MyTest::testWithDataProvider()#14 expects 5 but get 6;
3. MyTest::testWithDataProvider()#19 expects 8 but get 90;
بعد إصلاح خطأين فقط:
> phpunit --repeat
Rerunning last fails...
FAILURES!
Tests: 100, Assertions: 500, Failures: 1.
1. MyTest::testWithDataProvider()#14 expects 5 but get 18;
بعد إصلاح الخطأ الأخير:
> phpunit --repeat
Rerunning last fails... OK.
Running all others tests...
OK (100 tests, 500 assertions)
أوامر إضافية:
--repeat-fails
لتكرار الاختبارات الفاشلة الأخيرة فقط (_ دون إعادة تشغيل الكل_) ؛lstrojny هل ما زلت مهتمًا بنقل https://github.com/lstrojny/phpunit-clever-and-smart إلى نواة PHPUnit؟
sebastianbergmann هل أحتاج إلى العمل من أجلها؟ 😉 بكل جدية ، أنا غارق في القيام بذلك ، لكنني سأكون مع phpunit-clever-and-smart ليكون جزءًا من phpunit.
أرغب في التورط في هذا الأمر ، لقد حلمت بأشياء مماثلة (وفشلت في كتابتها النصية) في الماضي!
نسخة مكررة من # 46.
التعليق الأكثر فائدة
أرغب في التورط في هذا الأمر ، لقد حلمت بأشياء مماثلة (وفشلت في كتابتها النصية) في الماضي!