Laravel 11 AssertableJsonString::assertMissingExact

laravel 11 assert missing exact
02 دی 1403

توضیح درباره متد assertMissingExact در Laravel 11


متد assertMissingExact در کتابخانه Laravel 11 به ما این امکان را می‌دهد که بررسی کنیم آیا یک مقدار خاص در خروجی JSON وجود ندارد یا خیر. این متد به ویژه در تست‌های واحد (unit tests) مفید است، جایی که دقت و صحت داده‌های خروجی اهمیت زیادی دارد.


بیایید در نظر بگیریم که شما یک API ساخته‌اید که برخی از اطلاعات کاربران را به صورت JSON برمی‌گرداند. حالا ممکن است بخواهید مطمئن شوید که یک ویژگی خاص (مثلاً email) در پاسخ JSON وجود ندارد. با استفاده از این متد می‌توانید به راحتی این کار را انجام دهید.


این تابع به شما این امکان را می‌دهد که به سادگی و با خوانایی بالا تست کنید که آیا یک مقدار خاص در JSON وجود ندارد. در عوض، اگر بخواهید که فقط بفهمید که مقداری در JSON وجود دارد یا خیر، متد assertSee انتخاب بهتری خواهد بود.


به عنوان مثال، اگر شما بخواهید بررسی کنید که مقدار email در JSON خروجی شما نباشد، می‌توانید از assertMissingExact مانند زیر استفاده کنید. به این ترتیب می‌توانید از صحت و سلامت پاسخ API اطمینان حاصل کنید.


نمونه کد نمایش متد assertMissingExact


$response = $this->get('/api/users/1');

$response->assertJsonMissingExact([
'email' => '[email protected]',
]);

توضیحات کد


کد 1: $response = $this->get('/api/users/1');
این خط درخواست HTTP به آدرس /api/users/1 را می‌سازد و نتیجه را در متغیر $response ذخیره می‌کند.

کد 2: $response->assertJsonMissingExact([
'email' => '[email protected]',
]);

این خط بررسی می‌کند که آیا در خروجی JSON عدد email با مقدار [email protected] وجود ندارد یا خیر.

سوالات متداول

؟

متد assertMissingExact دقیقاً چه کاری انجام می‌دهد؟

؟

چطور می‌توانم از assertMissingExact استفاده کنم؟

؟

آیا assertMissingExact با assertSee فرق دارد؟

؟

چرا تست‌های JSON در Laravel مهم هستند؟