آشنایی با تست کردن در لاراول ۱۱
تست کردن در لاراول یکی از بخشهای بسیار مهم توسعه نرمافزار است. لاراول ۱۱ امکانات فوقالعادهای برای نویسندگان کدها ارائه میکند که به ما امکان میدهد با خیال راحتتر بخشهای مختلف پروژههای خود را تست کنیم. با استفاده از ابزارهای تست داخلی، میتوانیم از صحت عملکرد اپلیکیشن خود اطمینان حاصل کنیم.
در واقع، تست کردن به ما کمک میکند تا با شناسایی باگها یا مشکلات پیش از آنکه کدهایمان به دست کاربران برسند، کیفیت کار خود را بالا ببریم. لاراول ۱۱ از رویکردهای مختلفی برای تستهایی مثل تستهای واحد (unit tests) و تستهای ویژگی (feature tests) پشتیبانی میکند. این دو نوع تست به ما اجازه میدهند تا از صحت کدها و تعاملات آنها اطمینان حاصل کنیم.
در این مقاله به تستهای فلوینت در لاراول ۱۱ میپردازیم. تستهای فلوینت به ما اجازه میدهند از متدهای زنجیرهای برای نوشتن تستها استفاده کنیم که خوانایی کد را افزایش میدهد. به این معنی که میتوانیم تستهای خود را به شکل سادهتری بنویسیم و از کدهای تکراری کاسته شود.
از آنجایی که یادگیری نحوه تست کردن میتواند کار راحتی باشد، در ادامه به کدهای نمونه و توضیحات آنها پرداخته میشود تا با روشهای نوشتن تستهای فلوینت آشنا شویم. با ما همراه باشید تا این سفر جذاب را شروع کنیم!
نمونه کد تست فلوینت در لاراول ۱۱
namespace Tests\Feature;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Tests\TestCase;
class ExampleTest extends TestCase
{
use RefreshDatabase;
public function test_example()
{
$response = $this->get('/');
$response->assertStatus(200);
}
}
توضیح کد
در اینجا کد تستی را بررسی میکنیم که با استفاده از ویژگیهای لاراول نوشته شده است.
namespace Tests\Feature;
این خط نام فضای مربوط به تستهای ویژگی را مشخص میکند.
use Illuminate\Foundation\Testing\RefreshDatabase;
این خط از تِستهای لاراول استفاده میکند تا پس از هر تست به حالت اولیه بازگرداند.
use Tests\TestCase;
اینجا کلاس پایه تست لاراول را وارد میکنیم که شامل متدها و بالاردههای مفید برای تستهاست.
class ExampleTest extends TestCase
ما کلاس تست خود را تعریف میکنیم که از TestCase ارثبری میکند.
public function test_example()
نام متد تست ما که خوب است توصیفی از عملکردش داشته باشد.
$response = $this->get('/');
با استفاده از متد get درخواست به روت اصلی اپلیکیشن ارسال میشود.
$response->assertStatus(200);
این خط بررسی میکند که درخواست به درستی ارسال شده و کد وضعیت 200 برگشت داده شده است.