تست واحد (Unit Testing) در لاراول چگونه انجام می‌شود؟

· 1 min read
تست واحد (Unit Testing) در لاراول چگونه انجام می‌شود؟

تست نرم‌افزار یکی از اصول مهم توسعه پروژه‌های با کیفیت است که باعث کاهش خطاها و افزایش پایداری نرم‌افزار می‌شود.  طراحی سایت با لاراول  با فریمورک PHPUnit به صورت یکپارچه ادغام شده و ابزارهای مختلفی برای انجام تست‌های واحد، تست عملکرد و تست‌های کاربردی ارائه می‌دهد.  طراحی سایت با لاراول  این مقاله نحوه انجام تست واحد در لاراول را بررسی می‌کنیم.

طراحی سایت با لاراول  تست واحد
تست واحد به بررسی بخش‌های کوچک کد (مانند توابع و متدها) می‌پردازد و اطمینان می‌دهد که این بخش‌ها به درستی کار می‌کنند. اجرای مکرر تست‌ها در فرایند توسعه باعث افزایش کیفیت و کاهش باگ‌ها می‌شود.

راه‌اندازی محیط تست در لاراول
لاراول همراه با PHPUnit نصب می‌شود و فایل پیکربندی phpunit.xml برای تنظیمات تست موجود است. همچنین می‌توانید از SQLite در حالت In-Memory برای اجرای سریع‌تر تست‌ها استفاده کنید.

ایجاد تست واحد
برای ایجاد یک کلاس تست می‌توانید از دستور زیر استفاده کنید:

bash
Copy
Edit
php artisan make:test ExampleTest --unit
این دستور یک فایل در پوشه tests/Unit ایجاد می‌کند.

نوشتن یک تست ساده
مثلاً فرض کنید یک کلاس دارید که عملیات ریاضی انجام می‌دهد:

php
Copy
Edit
class Calculator
   public function add($a, $b)
       return $a + $b;


تست آن به شکل زیر است:

php
Copy
Edit
public function testAddition()

   $calc = new Calculator();
   $result = $calc->add(2, 3);
   $this->assertEquals(5, $result);

اجرای تست‌ها
برای اجرای تمام تست‌ها کافی است دستور زیر را در ترمینال وارد کنید:

bash
Copy
Edit
vendor/bin/phpunit
استفاده از Mocking
گاهی در تست‌ها نیاز به شبیه‌سازی کلاس‌ها و توابع خارجی داریم. لاراول از Mockery برای Mock کردن پشتیبانی می‌کند که امکان جداسازی وابستگی‌ها و تست مستقل را فراهم می‌کند.

تست‌های عملکردی و API
علاوه بر تست واحد، لاراول امکان تست‌های عملکردی (Feature Tests) و تست API با استفاده از قابلیت‌های HTTP Testing را فراهم کرده است که در پوشه tests/Feature قرار می‌گیرند.

نکات مهم
تست‌ها باید سریع اجرا شوند.

هر تست باید مستقل باشد و به دیگری وابسته نباشد.

نام تست‌ها باید گویا باشند.

نتیجه‌گیری
تست واحد یکی از پایه‌های توسعه نرم‌افزار حرفه‌ای است که لاراول آن را به صورت ساده و قدرتمند فراهم کرده است. با نوشتن تست‌های دقیق و اجرای منظم آن‌ها می‌توانید کیفیت پروژه‌های لاراولی خود را تضمین کنید.