شرح صفوف ومحتوى الفقرة
إن الجمع بين سمة RefreshDatabase ومصانع النماذج وتوكيدات JSON API ومحاكاة الخدمات يمنحك القدرة على اختبار أعقد ميزات Laravel 12 بعزل تام وسرعة فائقة. راجع أدوات اختبار قواعد البيانات والواجهات البرمجية في الملخص التالي.
| وجه المقارنة الهندسي | الأسلوب المتزامن أو التقليدي | معيار Laravel 12 الحديث |
|---|---|---|
| حالة قاعدة بيانات الاختبار | بقاء سجلات الاختبارات السابقة مما يسبب فشل الاختبارات اللاحقة | تصفير تلقائي سريع عبر المعاملات باستخدام سمة RefreshDatabase |
| تجهيز البيانات الاختبارية | كتابة مصفوفات طويلة يدوياً لجميع أعمدة الجدول الإلزامية | توليد فوري للسجلات والعلاقات عبر مصانع النماذج Factories |
| فحص استجابات JSON API | فك ترميز نص الاستجابة يدوياً وفحص المصفوفات بطرق تقليدية | استخدام دوال getJson و postJson مع توكيدات assertJson السلسة |
| اختبار الخدمات الجانبية | إرسال بريد فعلي أو تشغيل مهام ثقيلة أثناء تنفيذ الاختبار | عزل فوري للخدمات عبر Mail::fake و Queue::fake |
PHP
Mail::fake();
$user = User::factory()->create();
$this->actingAs($user)
->postJson('/api/orders', ['item' => 'Book'])
->assertStatus(201)
->assertJson(['item' => 'Book']);
$this->assertDatabaseHas('orders', ['item' => 'Book']);
خلاصة المعرفة ومحطة الانتقال
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
أتقنت في هذا الدرس حول «اختبار قواعد البيانات وتوكيدات واجهات API في Laravel» مفاهيم تهيئة القاعدة بسمة RefreshDatabase، وتوليد بيانات الاختبار عبر المصانع، والتحقق من وجود وحذف السجلات وفق معايير Laravel 12 الحديثة.
الخطوة التالية والدرس القادم
انتقل الآن إلى الدرس التالي «تحسين أداء تطبيق Laravel والتخزين المؤقت لبيئة الإنتاج» للبناء التراكمي على ما تعلمته.