Mahmoud Alrashidi نشر 21 فبراير 2021 أرسل تقرير نشر 21 فبراير 2021 قرأت قليلاً عن البرمجة الموجهة بالإختبار TDD ماهي الفائدة منها و لماذا نستخدمها. ثانياً قمت بإنشاء Test عن طريق الأمر التالي: php artisan make:test JustExample قام الأمر بإنشاء ملف JustExample.php بشكل جيد لكن عندما وضعت الدالة التالية: class JustExample extends TestCase { public function just_test_method() { $result = 2 * 5; $this->assertEquals(50, $result); } } و تنفيذ الأمر: phpunit لا يظهر أن الإختبار فشل في نافذة الكونسول لأن المفروض المُتغير result لا يحتوي على القيمة 50 بل 10 اقتباس
0 سمير عبود نشر 21 فبراير 2021 أرسل تقرير نشر 21 فبراير 2021 البرمجة الموجهة بالإختبار هي البرمجة عن طريق البدء بكتابة إختبارات لكل وظيفة بالتطبيق، وكل إختبار يجب أن يقوم بتحديد وشرح الكيفية التي سيتم التعامل بها مع الكود وما هو الناتج الذي من المفترض أن يقوم بإرجاعه في حال تم تنفيذ كل شيء بنجاح، وتقوم هذه الاختبارات بإرجاع إما حالة نجاح والتي تعني أن الكود يعمل بالطريقة الصحيحة التي يجب أن يقوم بها، أو حالة فشل في حال أن الكود به أخطاء وأنه لا يقوم بإرجاع الناتج الصحيح الذي يجب أن يقوم بإرجاعه لحالة الاختبار تلك. لذلك إن كنت تريد إنشاء تطبيق أو مشروع يعمل بشكل جيد و مُختبر من عدة نواحي، و تنتقل بمستواك في تطوير البرمجيات إلى مُستوى أعلى فعليك النظر في هذا الموضوع. هذه بعض الفوائد: تحدد لك الطريق للبدء بكتابة الكود فعوض أن تكون متردد في كتابة خصائص التطبيق وقلق بشأن إذا ما كان الكود الذي تكتبه سيعمل بشكل صحيح فالإختبارات ستقوم بقيادتك تقليل الأخطاء في المشروع يعطيك الثقة بالنفس تسهيل عملية إعادة بناء التعليمات البرمجية أو ما يُسمى بال refactoring دون القلق على عمل الخصائص إضافة خصائص و العمل على طلبات العميل بشكل سليم و بدون أية قلق هناك بعض القواعد التي يجب أن تنتبه لها عند إنشائك لأصناف الإختبار في laravel ف phpunit تبحث عن الملفات التي تنتهي ب Test.php لذلك على كل من الملف و الكلاس أن ينتهيان ب Test. و عند إنشائك لملف Test جديد عن طريق أمر Artisan عليك أن تُحدد ذلك: php artisan make:test JustExampleTest أيضاً أسماء التوابع يجب أن تبدأ بالكلمة test كما يلي: public function test_method_to_assert_something() { $result = 2 * 5; $this->assertEquals(50, $result); } الآن إذا قمت بتنفيذ أمر phpunit سيفشل الإختبار و هو ما نتوقعه ان يحدث. وسيُعطيك النتيجة التالية: Failed asserting that 10 matches expected 50. إذا أردنا تسمية التوابع بأسماء أخرى غير التي تبدأ ب test يُمكننا ذلك لكن يجب أن نُحدد ال annotation لكل تابع على أنه test بهذا الشكل مثلا: class JustExampleTest extends TestCase { /** @test */ public function it_just_a_simple_test() { $result = 2 * 5; $this->assertEquals(50, $result); } } بعض هذه الإعدادات يُمكن تعديلها من خلال ملف phpunit.xml لكن لا داعي لذلك، فقط إحترم تسمية الملفات و ضع ال annotation. 2 اقتباس
السؤال
Mahmoud Alrashidi
قرأت قليلاً عن البرمجة الموجهة بالإختبار TDD ماهي الفائدة منها و لماذا نستخدمها.
ثانياً قمت بإنشاء Test عن طريق الأمر التالي:
قام الأمر بإنشاء ملف JustExample.php بشكل جيد لكن عندما وضعت الدالة التالية:
و تنفيذ الأمر:
phpunit
لا يظهر أن الإختبار فشل في نافذة الكونسول لأن المفروض المُتغير result لا يحتوي على القيمة 50 بل 10
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.