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

Seeding Test States with Factories توليد بيانات الاختبار عبر المصانع

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

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

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

بدلاً من إدخال عشرات الأعمدة يدوياً قبل كل اختبار، استخدم مصانع نماذج Eloquent لتوليد سجلات واقعية وعلاقات مترابطة في سطر واحد. استدع الدالة Post::factory->create لحفظ السجل في قاعدة الاختبار، أو مرر مصفوفة ترابطية لتخصيص قيم حقول معينة يهمك فحصها.

  • الإنشاء المفرد والمجمّع (Single & Batch Creation): استخدم دالة create لسجل واحد أو اربطها بدالة count(5) لتوليد مجموعة سجلات.
  • تخصيص الحقول المهمة (Explicit Attribute Overrides): مرر القيم المراد اختبارها مثل ['is_published' => true] داخل دالة create لزيادة وضوح الاختبار.
  • بناء العلاقات بالمصانع (Relationship Factories): اربط دالة for أو دالة has لتوليد السجل الأب مع سجلاته الفرعية في خطوة واحدة.
PHP
$user = User::factory()->create();

$post = Post::factory()
    ->for($user)
    ->create(['title' => 'Factory Post']);