هذه الحزمة عبارة عن مجموعة من الأدوات التي تجعل بعض وظائف اختبار الوحدة أسهل.
JoomlaTestTestHelper
عبارة عن فئة مساعدة ثابتة يمكن استخدامها لتخفيف بعض الألم الناتج عن المهام المتكررة أثناء اختبار الوحدة باستخدام PHPUnit.
هناك طريقتان تساعدان في التعامل مع كائنات PHPUnit الوهمية.
TestHelper::assignMockCallbacks
توفر هذه الطريقة المساعدة طريقة سهلة لتكوين عمليات الاسترجاعات الوهمية بشكل مجمّع.
استخدم JoomlaTestTestHelper؛ فئة FooTest تمتد PHPUnit_Framework_TestCase { اختبار الوظيفة العامة () { // أنشئ النموذج mock.$mockFoo = $this->getMock( 'Foo', // Methods array.array(), // وسيطات المُنشئ.array(), // اسم الفئة الوهمية.''، // اتصل المنشئ الأصلي.خطأ ); $mockCallbacks = array( // 'اسم الطريقة' => <callback>'method1' => array('mockFoo', 'method1'), 'method2' => array($this, 'mockMethod2'), ); TestHelper::signMockCallbacks($mockFoo, $this, $mockCallbacks); } الوظيفة العامة mockMethod2($value) { إرجاع strtolower($value); } }
TestHelper::assignMockReturns
توفر هذه الطريقة المساعدة طريقة سهلة لتكوين قيم الإرجاعات الوهمية بشكل مجمّع.
استخدم JoomlaTestTestHelper؛ فئة FooTest تمتد PHPUnit_Framework_TestCase { اختبار الوظيفة العامة () { // أنشئ النموذج mock.$mockFoo = $this->getMock( 'Foo', // Methods array.array(), // وسيطات المُنشئ.array(), // اسم الفئة الوهمية.''، // اتصل المنشئ الأصلي.خطأ ); $mockReturns = array( // 'اسم الطريقة' => 'قيمة الإرجاع المعلبة''method1' => 'النتيجة المعلبة 1', 'method2' => 'النتيجة المعلبة 2', 'method3' => 'النتيجة المعلبة 3' , ); TestHelper::signMockReturns($mockFoo, $this, $mockReturns); } }
هناك ثلاث طرق تساعد على التفكير.
TestHelper::getValue
تتيح لك طريقة TestHelper::getValue
الحصول على قيمة أي ملكية محمية أو خاصة.
استخدم JoomlaTestTestHelper؛ فئة FooTest تمتد PHPUnit_Framework_TestCase { اختبار الوظيفة العامة () { مثيل $ = جديد Foo؛ // احصل على قيمة خاصية `bar` المحمية.$value = TestHelper::getValue($instance, 'bar'); } }
يجب استخدام هذه الطريقة باعتدال. عادةً ما يكون من الأنسب استخدام توابع assertAttribute*
الخاصة بـ PHPunit.
TestHelper::setValue
يسمح لك الأسلوب TestHelper::setValue
بتعيين قيمة أي ملكية محمية أو خاصة.
استخدم JoomlaTestTestHelper؛ فئة FooTest تمتد PHPUnit_Framework_TestCase { اختبار الوظيفة العامة () { مثيل $ = جديد Foo؛ // قم بتعيين قيمة خاصية "الشريط" المحمية. TestHelper::setValue($instance, 'bar', 'New Value'); } }
هذه الطريقة مفيدة لإدخال القيم في كائن بغرض اختبار أساليب getter.
TestHelper::invoke
تسمح لك طريقة TestHelper::invoke
invention باستدعاء أي طريقة محمية أو خاصة. بعد تحديد الكائن واسم الطريقة، يتم تمرير أي وسائط متبقية إلى الطريقة التي يتم استدعاؤها.
استخدم JoomlaTestTestHelper؛ فئة FooTest تمتد PHPUnit_Framework_TestCase { اختبار الوظيفة العامة () { مثيل $ = جديد Foo؛ // استدعاء طريقة "الشريط" المحمية.$value1 = TestHelper::invoc($instance, 'bar'); // استدعاء الأسلوب المحمي `bar` باستخدام الوسائط.$value2 = TestHelper::invoc($instance, 'bar', 'arg1', 'arg2'); } }
أضف "joomla/test": "~2.0"
إلى الكتلة المطلوبة في Composer.json الخاص بك ثم قم بتشغيل composer install
.
{ "تتطلب": { "جملة/اختبار": "~2.0" } }
بدلا من ذلك، يمكنك ببساطة تشغيل ما يلي من سطر الأوامر:
يتطلب الملحن جملة/اختبار "~2.0"