تعلّم كيفية اختبار تمارين ABAP على Exercism
يُقدَّم كل تمرين على هيئة صنف ABAP واحد (يضم طريقة واحدة أو أكثر). وعادةً ما تُعطى تعريفات الطرق مع معاملات إدخال وإخراج. ومهمتك أن تُكمل تنفيذ الطريقة وفقًا لمواصفات التمرين.
وبمجرد أن يصبح لديك كود تريد اختباره، اختر "Run Tests". سيؤدي ذلك إلى تشغيل صنف اختبار ABAP المقابل، وستظهر النتائج بعد بضع ثوانٍ. إذا وُجدت أخطاء، فارجع إلى الكود وعدّله وفقًا لذلك. وإذا نجحت جميع الاختبارات، فمبروك! لقد أكملت التمرين ويمكنك إرسال حلك.
خلف الكواليس، يُترجَم كود ABAP الخاص بك ويُنفَّذ باستخدام ما يُعرف بـمترجم abaplint. ولا يزال هذا حلًا جديدًا نسبيًا. وإذا واجهت أي مشكلات تعذّر عليك حلها، فافتح issue على GitHub.
لا يتوفر أي مُنقِّح عند تشغيل تمارين ABAP على موقع Exercism. وقد يصعّب ذلك معرفة سبب فشل اختباراتك. مع ذلك، هناك أسلوب ذكي لتسجيل البيانات في الكود (ملاحظة: هذا لا يعمل في أي نظام ABAP).
إليك مثالًا. تُظهر الصورة الأولى كود التمرين مع بعض الاختبارات الفاشلة، ويُظهر كل اختبار فاشل القيمتين المتوقعة والفعلية:

لتسهيل التنقيح، أضف نداءً واحدًا أو عدة نداءات إلى console=>log() ومرّر أي بيانات وسيطة إلى الطريقة. وسيساعد استخدام أسطر جديدة (\n) على تنظيم الإخراج. وعند تشغيل الاختبارات، سترى مخرجات وحدة التحكم ضمن نتائج الاختبار:

ملاحظة: لا تظهر مخرجات وحدة التحكم إلا للاختبارات الفاشلة. وإذا كنت تنشر حلك، فقد ترغب في حذف عبارات التسجيل لتصبح نسختك المنشورة أسهل على أعضاء المجتمع الآخرين في القراءة.
أبسط ما يمكن فعله للبدء في التمرين على نظامك الخاص هو استنساخ هذا المستودع باستخدام abapGit. وسيُنشئ هذا الهياكل الأولية وأصناف الاختبار لكل التمارين المتاحة حاليًا.
شغّل ABAP Development Tools (أو المعاملتين SE24 أو SE80 إذا كان لديك نظام أقدم) وأنشئ صنف ABAP جديدًا باسم الصنف في التمرين. ونفّذ هيكل الصنف الأولي وصنف الاختبار أيضًا بنسخ الكود من موقع Exercism ولصقه.
يمكنك الآن تعديل صنف التمرين وتنفيذ حل له. ثم شغّل اختبارات الوحدة في ABAP للتحقق من نجاحه في جميع الاختبارات. وبعد أن تُكمل الحل وتنجح اختباراته، انسخ الكود والصقه في محرر التمرين على موقع Exercism. وشغّل الاختبارات هناك أيضًا.
عند كتابة الكود واختباره على نظامك الخاص، يُستخدم المترجم القياسي لـ SAP ABAP وتنفيذه القياسي. وإذا فشلت اختباراتك، فالسبب على الأرجح متعلق بكودك أنت. ألقِ نظرة أخرى عليه.
وإذا نجح كودك في اختبارات الوحدة، فانسخ تنفيذ الصنف والصقه في التمرين على موقع Exercism واختر "Run Tests". والمفروض أن تنجح الاختبارات هناك أيضًا بالطبع. وإن لم يحدث ذلك، فراجع قسم حل المشكلات أعلاه.