عن المشروع

Ginkgo هو إطار عمل للاختبار في لغة Go يعتمد على أساس `testing` القياسي. وهو يوفر لغة محددة النطاق (DSL) لكتابة المواصفات بأسلوب مشابه لـ RSpec و Jasmine و Quick، مما يجعله مناسباً لاختبارات الوحدات، والتكامل، والأداء. تشمل القدرات الرئيسية ما يلي: - **تنظيم تعبيري**: يستخدم عقد حاوية قابلة للتداخل مثل `Describe` و `Context` و `When` بجانب عقد الإعداد والتنظيف مثل `BeforeEach` و `AfterEach` و `BeforeSuite` و `AfterSuite`. - **التحكم في التنفيذ**: يدعم تشغيل المواصفات بترتيب عشوائي قابل للتكرار ويوفر موازاة متطورة عبر الأمر `ginkgo -p`. - **إدارة المواصفات**: يوفر تسميات (labels) لتنظيم المواصفات والقدرة على تشغيل مجموعات فرعية محددة من الاختبارات من خلال التصفية البرمجية أو خيارات سطر الأوامر. - **الأدوات**: يتضمن أداة واجهة سطر أوامر (CLI) لإنشاء وتشغيل وتصفية وتحليل مجموعات الاختبار، بالإضافة إلى وضع `ginkgo watch` للحصول على تعليقات سريعة أثناء التطوير. - **التقارير**: ينشئ مخرجات قابلة للقراءة آلياً بتنسيقات مختلفة ويسمح بإنشاء بنية تحتية مخصصة للتقارير. - **التكامل**: مصمم للاستخدام مع مكتبة Gomega matcher للتأكيدات المتزامنة وغير المتزامنة. بالإضافة إلى ذلك، يوفر Ginkgo إضافة لـ Claude Code لمساعدة الوكلاء في كتابة المواصفات باستخدام الاصطلاحات والمزخرفات الخاصة بـ Ginkgo.