لماذا يهم هذا الدرس؟
فهم اختبارات قاعدة البيانات وتطبيقه عمليًا داخل ميزة صغيرة في Laravel. اختبارات Laravel عقود تنفيذية للسلوك. تعبر Feature Tests حد HTTP وتتحقق Database Tests من آثار التخزين وتوفر Factories إعدادًا قابلًا للتكرار.
كيف تفكر فيه؟
- في درس اختبارات قاعدة البيانات، النتيجة التي يجب أن تتحقق: اختبر السلوك المرئي من حدود التطبيق وليس تفاصيل التنفيذ فقط.
- في سياق اختبارات قاعدة البيانات، الخطر الذي يجب أن يبقى تحت السيطرة: اختبار Framework Methods أوImplementation Details فقط يعطي ثقة تختفي عند تغير مسار Request الحقيقي.
- تطبيق اختبارات قاعدة البيانات: اكتب Feature Test تنشئ بيانات وتستدعي Endpoint الحقيقي وتتحقق من Response وحالة قاعدة البيانات.
تطبيق عملي
في التطبيق الخاص بدرس اختبارات قاعدة البيانات: اختبر السلوك المرئي من حدود التطبيق وليس تفاصيل التنفيذ فقط.
tests/Feature/UserListTest.phpphp
test('authenticated user can list users', function () {
$user = User::factory()->create();
$this->actingAs($user)->getJson('/api/users')->assertOk();
});جرّب بنفسك
تمرين اختبارات قاعدة البيانات
اكتب Feature Test تنشئ بيانات وتستدعي Endpoint الحقيقي وتتحقق من Response وحالة قاعدة البيانات.
- سجل النتيجة المتوقعة قبل التنفيذ
- اختبر حالة صحيحة وحالة فشل مرتبطة بالدرس
- اشرح في سطرين أين يوجد الحد المسؤول عن القرار
