الاختبار في مسار SQLite

تعرّف على كيفية اختبار تمارين SQLite الخاصة بك على Exercism


لتشغيل الاختبارات في تمارين SQLite لديك، اتبع هذه الخطوات:

  1. افتح الطرفية المفضلة لديك.
  2. انتقل إلى المجلد الذي يحتوي على ملف ${slug}_test.sql المناسب، حيث ${slug} هو اسم التمرين، مع استخدام الشرطات بدلًا من المسافات وبأحرف صغيرة كلها.
  3. نفّذ الأمر التالي:
sqlite3 -bail < ${slug}_test.sql

يهيّئ هذا الأمر SQLite بقاعدة بيانات فارغة، ويشغّل الاختبارات المحددة في ${slug}_test.sql، ثم يخرج بعد ذلك. يضمن -bail توقف تنفيذ الكود عند وجود كود غير صالح.

ستُعرض نتائج الاختبار في الطرفية على شكل جدول، يبيّن وصف كل اختبار وحالته (مثل "pass") ورسالة إذا كانت الحالة "fail".

تصحيح الأخطاء

يمكنك استخدام عبارات SELECT لتصحيح الأخطاء. سيُوجَّه الإخراج إلى user_output.md ويُعرض في محرر الويب إذا فشلت الاختبارات.

تفاصيل التنفيذ

ملف الاختبار (${slug}_test.sql) نص برمجي معقّد إلى حد كبير. إليك نظرة عامة على ما يفعله.

  1. يُهيّئ الجداول بقراءة create_fixture.sql. ينشئ هذا الجداول ثم يعبّئها بقيم من data.csv للبيانات الصحيحة ومن error_data.csv للمدخلات التي ينبغي أن تفشل. تُفحص هذه الجداول فقط أثناء الاختبارات، ويُتجاهل أي تغيير في الجداول الأخرى.
  2. يشغّل كود الحل بقراءة ملف ${slug}.sql.
  3. ينشئ جداول لحفظ حالات الاختبار ونتائجها.
  4. يعبّئ نتائج الاختبار بناءً على البيانات في الجداول التي حدّثها الحل.
  5. يعرض نتائج الاختبار (pass أو fail وتفاصيل اختيارية). تحتوي ملفات CSV هذه على البيانات اللازمة لاختبار سيناريوهات متنوعة.