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