سؤال

أستخدم phpunit لاختبارات الوحدة ، ولكن عندما أ خطأ مميت يتم تشغيله ، السيناريو يموت وليس لدي إخراج phpunit الصحيح.

أود أن يبقى إخراج phpunit تشكل بشكل صحيح, ، لأنه يتم قراءته بواسطة مكون إضافي لـ Eclipse. في الواقع ، يوقف الخطأ المميت phpunit وفي Eclipse ، لا يمكن للمكون الإضافي تفسير أي شيء (لأن البرنامج النصي phpunit ملك خطأ ، بدلاً من التعامل معه).

شكرًا

هل كانت مفيدة؟

المحلول

تحتاج إلى استخدام ميزات عزل عملية Phpunit - ابدأ كل مجموعة اختبار في عملية جديدة.

phpunit --process-isolation ...

هذه هي الطريقة الوحيدة للتأكد من أن الأخطاء المميتة لا تكسر إخراج phpunit الخاص بك.

وقت التنفيذ

تعرض العزلة التي تعرض وقت تشغيل الاختبار ، لأن لكل اختبار واحد, ، يتم بدء مثيل PHP جديد ، يتم تنفيذ bootstrap وما إلى ذلك.

لتعديل هذا الموقف ، يمكنك اختيار تشغيل حالات اختبار كاملة في عملية منفصلة (@runTestsInSeparateProcesses) ، أو فقط واحدة معروفة بالخروج في بعض الأحيان (@runInSeparateProcess).

نصائح أخرى

set_error_handler () لن يساعدك هناك. يمكنك اصطياد أخطاء مميتة باستخدام register_shutdown_function ()

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top