در این آموزش قصد داریم تا با نحوه نصب phpunit بر روی سیستم عامل های لینوکسی و استفاده از آن در فریم ورک محبوب لاراول آشنا شویم. اگر نمی دانید phpunit چیست، به طور ساده می توان آن را ابزاری برای تست پروژه های PHP دانست. در فریم ورک لاراول نیز امکاناتی برای استفاده از این ابزار به منظور تست بخش های مختلف پروژه در نظر گرفته شده است. در نتیجه ابتدا نحوه نصب این ابزار را فرا خواهیم گرفت و سپس به کمک آن و امکانات داخلی لاراول سعی در تست پروژه خود می نماییم.
[divider]
نصب PHPUnit
برای نصب این ابزار باید دستور زیر را در ترمینال وارد کنید:
sudo apt-get install phpunit
پس از نصب phpunit باید محدودیت فانکشن های تو در تو را از مقدار پیشفرض ۱۰۰ به ۵۰۰ تغییر دهید. برای این کار باید فایل تنطیمات phpunit را به کمک دستور زیر بازکنید:
sudo nano /etc/php5/mods-available/xdebug.ini
و خط زیر را به انتهای فایل بیافزایید و تغییرات را ذخیره کنید:
xdebug.max_nesting_level=500
البته تنظیمات فوق برای PHP نسخه ۵٫x مورد نیاز است و اگر از PHP نسخه ۷٫x استفاده کنید، نیازی به اعمال تنظیمات نیست.
[divider]
نحوه استفاده از phpunit در لاراول
زمانی که یک پروژه لاراول جدید می سازید. همانطور که در ابتدا گفتیم، یک پوشه به نام tests ایجاد می گردد که محل نوشتن آزمون های مربوط به پروژه است. در داخل این پوشه یک تست نمونه قرار دارد. می توانید این تست را ویرایش نموده و یا با دستور زیر تست های جدید ایجاد کنید:
php artisan make:test UserTest
آزمون شما می تواند به سادگی بازدید از یک صفحه و یا به پیچیدگی ارسال اتوماتیک فرم های موجود در پروژه باشد. خوشبختانه به کمک امکاناتی که در لاراول پیش بینی شده، همه این آزمون ها به سادگی قابل طراحی هستند! به مثال زیر توجه کنید:
<?php use Illuminate\Foundation\Testing\WithoutMiddleware; use Illuminate\Foundation\Testing\DatabaseMigrations; use Illuminate\Foundation\Testing\DatabaseTransactions; class ExampleTest extends TestCase { /** * A basic functional test example. * * @return void */ public function testBasicExample() { $this->visit('/') //visit main page ->click('Login') //click on login button ->see('Login'); //search for 'Login' string in page } }
همانطور که در مثال بالا نمایان است، در این آزمون ابتدا از صفحه اصلی سایت دیدن می کنیم و سپس در این صفحه بر روی لینک Login کلیک کرده و به فرم لاگین منتقل می شویم. در انتها نیز بررسی میکنیم که آیا در صفحه مقصد عبارت Login وجود دارد یا خیر
اجرای تست
پس از ایجاد و طراحی تست(ها) تنها کافیست به کمک ترمینال به دایرکتوری پروژه بروید و دستور زیر را وارد کنید:
./vendor/bin/phpunit
با اینکار تمام آزمون هایی که در پوشه tests قرار دارند اجرا خواهند شد و خروجی هر آزمون را در ترمینال خواهید دید. به طور مثال خروجی تستی که به عنوان مثال عرضه شد اینگونه خواهد بود:
همانطور که در تصویر می بینید مدت زمان اجرای این آزمون ۲۴۳ میلی ثانیه و میزان حافظه مصرف شده ۱۵٫۵۰ مگابایت است. همچنین تعداد تست ها یک عدد بوده و ۳ قسمت مجزا وجود داشته است.
موفق و پیروز باشید…