انتقل إلى محتوى الدرس

Faking Mail Queues and Storage محاكاة البريد والطوابير عبر Fakes

إعادة تهيئة قاعدة بيانات الاختبار تلقائياً بسمة RefreshDatabase والتحقق من السجلات واستجابات JSON API وفق أحدث معايير إطار العمل Laravel 12 مع أمثلة وتطبيقات عملية متدرجة.
1 صفوف تعليمية
إطار العمل Laravel
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

ينبغي لاختبارات الميزات التأكد من قيام المتحكم بإطلاق المهمة الخلفية أو إرسال البريد دون تشغيل عامل الطابور فعلياً أو الاتصال بخادم SMTP. يقوم استدعاء Queue::fake أو Mail::fake باستبدال الخدمة الحقيقية في الحاوي بكائن مراقبة يسجل ما تم إطلاقه للتحقق منه برمجياً.

  • محاكاة الطوابير (Queue::fake): استدع دالة Queue::fake قبل الطلب، ثم تحقق من دفع المهمة عبر دالة Queue::assertPushed.
  • محاكاة البريد (Mail::fake): استدع دالة Mail::fake قبل الطلب، ثم تأكد من جدولة الرسالة عبر دالة Mail::assertSent.
  • محاكاة التخزين والأحداث (Storage & Event Fakes): استخدم دالة Storage::fake لاختبار رفع الملفات ودالة Event::fake لفحص إطلاق الأحداث.
PHP
use App\Jobs\ProcessPodcast;
use Illuminate\Support\Facades\Queue;

Queue::fake();

$this->postJson('/api/podcasts', ['title' => 'Ep 1']);

Queue::assertPushed(ProcessPodcast::class);