توسعه دهنده بک اند
بخشی از سیستم تست در لاراول به صورت ساده

ساختار
در فایل testunit.xml در مسیر اصلی پروژه ما ساختار زیر را داریم :
<testsuites>
<testsuite name="Unit">
<directory suffix="Test.php">./tests/Unit</directory>
</testsuite>
<testsuite name="Feature">
<directory suffix="Test.php">./tests/Feature</directory>
</testsuite>
</testsuites>ما در اینجا دو کیس دیفالت برای تست داریم و طبق این ساختار کافیه خدمون یکی جدید بهش اضافه کنیم :
<testsuites>
<testsuite name="Unit">
<directory suffix="Test.php">./tests/Unit</directory>
</testsuite>
<testsuite name="Feature">
<directory suffix="Test.php">./tests/Feature</directory>
</testsuite>
<testsuite name="Mytest">
<directory suffix="Test.php">./tests/Mytest</directory>
</testsuite>
</testsuites>خب ما با توجه به مسیری که دادیم فولدری با نام Mytest در مسیر tests در پوشه پروژه می سازیم و فایل های تست خدمون رو داخلش مینویسیم .
اجرای دستور تست
جهت اجرای تمامی کیس های تست با دستور زیر همگی استارت میشن :
php artisan testو برای اجرای یک کیس خاص دستور به این شکل می شود :
php artisan test --testsuite=Mytestبرای اینکه اگر در هنگام تست به خطا خورد ، بقیه عملیات متوقف بشه دستور رو به این شکل تغییر میدیم :
php artisan test --testsuite=Mytest --stop-on-failureفایل های تست
<?php
namespace Tests\Mytest;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Tests\TestCase;
class RouteTest extends TestCase
{
/**
* A basic test example.
* * @return void
*/
public function test_route()
{
$response = $this->get('/');
$response->assertStatus(200);
}
} در مثال فوق ما یک فایل جدید درپوشه Mytest خودمون با نام RouteTest.php می سازیم و کد های بالا رو داخلش پیست میکنیم.
حتما به نام گذاری متد ها و کلاس دقت کنین چون در یک کلاس میشه چند تا تست انجام بشه مثلا در همین تست ، میتونیم دو متد با نام های test_login_route و test_register_route داشته باشیم
کد بالا چک میکنه که آیا مسیری که مشخص شده درست باز میشه یا خیر و در نهایت اگر درسته باز بشه با پیام سبز در تست های مشخص خواهد شد.
خود لاراول از سیستم php unit برای تست ها استفاده میکنه که برای آشنایی با متد های این ابزار کافیه داکیومنتشو بخونین :
https://phpunit.readthedocs.io/en/9.5/
همچنین توضیحات راجب تست کردن در لاراول رو میتونین در این صفحه از لاراول مشاهده کنین :
https://laravel.com/docs/8.x/testing
امیدوارم خیلی ساده تونسته باشم سیستم تست در لاراول رو براتون توضیح داده باشم .
در آخر مثل همیشه چند منبع برای یادگیری بیشتر :
https://semaphoreci.com/community/tutorials/getting-started-with-phpunit-in-laravel
https://soshace.com/testing-laravel-applications-like-a-pro-with-phpunit/
مطلبی دیگر از این انتشارات
کاربرد vue.js بیشتر برای چه کاریه
مطلبی دیگر از این انتشارات
ایجاد یک سایت دو زبانه در لاراول
مطلبی دیگر از این انتشارات
لاراول : Mass Assignment