لماذا يهم هذا الدرس؟
فهم إعداد الاختبارات وتطبيقه عمليًا داخل ميزة صغيرة في 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 وحالة قاعدة البيانات.
- سجل النتيجة المتوقعة قبل التنفيذ
- اختبر حالة صحيحة وحالة فشل مرتبطة بالدرس
- اشرح في سطرين أين يوجد الحد المسؤول عن القرار
