اختبارات تكامل Spring
شرائح السياق، وطبقة الوصول إلى البيانات، ووحدات التحكم HTTP، والتخزين المؤقت.
اختبارات التكامل مع Spring Boot
قد تنتقل مجموعة اختبارات Spring من أربعين ثانية إلى إحدى عشرة دقيقة دون أن يُضاف سطر واحد من المنطق العملي. والسبب في الغالب واحد: يُعاد بناء سياق التطبيق عشرات المرات. يخزّن Spring السياق مؤقتًا ويعيد استخدامه بين فئات الاختبار، لكن بشرط أن تكون الإعدادات المطلوبة متطابقة تمامًا. فالفئة التي تضيف @MockBean، أو خاصية @TestPropertySource، أو تستخدم ملف تعريف (profile) مختلفًا، تحصل على مفتاح تخزين مؤقت مختلف، وبالتالي على سياق جديد، أي ما بين ثلاث وثماني ثوانٍ إضافية من زمن الإقلاع. عشرون صيغة مختلفة من الإعدادات تعني عشرين إقلاعًا.
أما الفخ الثاني فهو معاكس له: وضع @SpringBootTest على جميع فئات الاختبار من باب الراحة. عندها تحمّل الحاوية كاملة — الأمان، والمجدول، وعملاء HTTP، ومستمعي الرسائل — لمجرد اختبار استعلام SQL من خمسة عشر سطرًا. يصبح الاختبار بطيئًا، ويفشل لأسباب لا علاقة لها بما يتحقق منه: يكفي غياب bean خاص بالبنية التحتية في بيئة الاختبار لإسقاط فئة لا تستخدمه أصلًا. المهارة المطلوبة هنا هي تحميل أقل قدر ممكن مع الحفاظ على الواقعية، والحدّ من عدد الإعدادات المختلفة في المشروع.
شرائح السياق
يوفّر Spring Boot تعليقات توضيحية (annotations) لا تفعّل إلا جزءًا من التطبيق. وهي تحصر مسح المكوّنات في الـ beans ذات الصلة.
التعليقات
التعليقات مدعومة عبر GitHub Discussions
سجّل الدخول باستخدام GitHub للمشاركة في النقاش