الوحدة 6 · اختبار واجهات البرمجة
تأكيدات ذات معنى على الاستجابات
افحص ما يهم: الحالة والبنية والقيم والترويسات والآثار الجانبية.
نحو 9 دقيقة قراءة و15 دقيقة تطبيق (تقديرات)
جارٍ تحميل التقدم…
اقرأ
أهداف التعلّم
- كتابة تأكيدات تفشل إذا كانت الميزة خاطئة.
- فحص الآثار الجانبية لا الاستجابة فقط.
- تجنب التأكيدات الهشة على قيم تتغير بشكل مشروع.
الشرح
الاختبار الذي يفحص فقط أن «الحالة 200» سينجح حتى لو أعادت واجهة البرمجة سعراً خاطئاً أو لم تحفظ شيئاً. لكل طلب اسأل: ما الذي سيختلف لو كان هذا معطلاً؟ وأكّد ذلك.
- رمز الحالة ونوع المحتوى.
- البنية: الحقول الإلزامية موجودة بالأنواع الصحيحة (يساعد مخطط JSON Schema).
- القيم: الحقول المحسوبة صحيحة لمدخلاتك — الإجماليات والخصومات والتقريب والعملة.
- الترويسات المهمة: Location بعد الإنشاء، والتخزين المؤقت، وترويسات حدود المعدل.
- الآثار الجانبية: طلب GET لاحق يعيد الحالة الجديدة؛ أُرسل Webhook أو بريد؛ ولم يتغير شيء آخر.
- تجنّب تأكيد المعرّفات أو الطوابع الزمنية أو الترتيب ما لم تكن جزءاً من العقد — افحص صيغتها بدلاً من ذلك.
مثال: تأكيدات لإنشاء طلب شراء
توضيحي — ليس عنوان API يعمل فعلاً.
POST /v1/orders { items: [{ id: "coffee-cups", qty: 2 }], code: "SOUQ10" }
Assert
- status 201; Content-Type application/json
- body.id matches /^ord_[a-z0-9]+$/ (format, not a fixed value)
- body.items[0].lineTotal == "16.500"
- body.discount == "1.650" (10% of every eligible unit)
- body.total == body.subtotalAfterDiscount + body.delivery
- Location header == /v1/orders/{body.id}
- GET /v1/orders/{body.id} returns the same totals
- the order.created webhook arrives onceأخطاء شائعة
- تأكيد رمز الحالة فقط.
- نسخ الاستجابة كاملة كقيمة «متوقعة»، فيفشل الاختبار مع أي تغيير غير ضار.
- عدم تنظيف البيانات المُنشأة، فتعتمد الاختبارات اللاحقة على السابقة.
جرّب
تدرّب على ما قرأته للتو. تُفحص الإجابات هنا، ولا يُقيَّم شيء علناً ولا يُحتسب في ساحة الأخطاء.
تمرين
اذكر التأكيدات التي تكتبها لـ «PATCH /v1/cart/items/coffee-cups { quantity: 3 }» على سلة كانت الكمية فيها ٢. ضمّن أثراً جانبياً واحداً على الأقل.
اكتب إجابتك أولاً، ثم قارنها بالحل النموذجي. تبقى في هذه الصفحة فقط ولا تُرسل إلى أي مكان.
راجع
اختبر نفسك — يجب أن تكون الآن قادراً على:
- كتابة تأكيدات تفشل إذا كانت الميزة خاطئة.
- فحص الآثار الجانبية لا الاستجابة فقط.
- تجنب التأكيدات الهشة على قيم تتغير بشكل مشروع.
تدرّب في مختبر الجودة
مراجع
تابع
عندما تكون مستعداً، ضع علامة الإكمال على الدرس في خطوة «جرّب» ثم انتقل إلى التالي.
يُوسم بأنه مقروء عندما تصل إلى نهاية الدرس.