توضیحات درباره متد assertInvalidCredentials در لاراول ۱۱
متد assertInvalidCredentials()
در لاراول ۱۱ برای تست اعتبارسنجی ویژگیهای احراز هویت در تستهای واحد ما طراحی شده است. وقتی شما در حال نوشتن تست برای روشهای احراز هویت خود هستید، این متد به شما کمک میکند تا اطمینان حاصل کنید که وقتی کاربری با اطلاعات نامعتبر سعی در ورود به سیستم داشته باشد، سیستم به درستی آن را شناسایی میکند.
این متد بسیار مفید است چراکه به برنامه نویسان اجازه میدهد تا سناریوهای مختلف ورود به سیستم را تست کنند و از درستی رفتار سیستم مطمئن شوند. به طور مثال، میتوانید تست کنید که اگر کاربر نام کاربری یا رمز عبور اشتباهی وارد کند، آیا پیام خطای مناسبی نمایش داده میشود یا خیر.
نحوه استفاده از این متد بسیار ساده است و شما فقط کافی است آن را به همراه اطلاعات نامعتبر در متد تست خود فراخوانی کنید. سپس میتوانید از آن انتظار داشته باشید که فرایند ورود ناموفق باشد و خطای مناسب را مشاهده کنید.
برای اینکه بیشتر با این متد آشنا شوید، بیایید یک مثال عملی از نحوه استفاده از آن را بررسی کنیم. به این ترتیب نه تنها با طرز کار این متد آشنا میشوید، بلکه با نوشتن تستهای قویتر برای احراز هویت در لاراول ۱۱ نیز آشنا میشوید.
public function test_user_cannot_login_with_invalid_credentials()
{
$this->post('/login', [
'email' => '[email protected]',
'password' => 'incorrectpassword'
])->assertInvalidCredentials();
}
توضیحات کد
در اینجا یک روش تست قرار دارد که مشخص میکند کاربر نمیتواند با اطلاعات نامعتبر وارد سیستم شود.
خط ۱:
public function test_user_cannot_login_with_invalid_credentials()
این خط مشخص میکند که ما یک تست جدید به نام
test_user_cannot_login_with_invalid_credentials
تعریف کردهایم. خط ۲:
$this->post('/login', [...])
با استفاده از متد
post
یک درخواست به آدرس /login
ارسال میکنیم. خط ۳:
'email' => '[email protected]'
ایمیل نامعتبر را برای ورود به سیستم ارسال میکنیم.
خط ۴:
'password' => 'incorrectpassword'
همچنین رمز عبور اشتباهی را نیز ارسال میکنیم.
خط ۵:
->assertInvalidCredentials();
این خط پیشبینی میکند که اعتبارسنجی کاربران بر اساس اطلاعات ارسال شده نامعتبر باشد و خطای مناسب را نشان دهد.