البرمجة

تخصيص تصفية EclEmma لاستبعاد اختبارات حالات الاستخدام دون التأثير على التغطية

عند استخدام أداة EclEmma لاختبار تغطية سيناريوهات الاختبار واختبارات حالات الاستخدام في مشروعك، قد تواجه تحديات في استبعاد بعض الفئات من حساب التغطية دون استبعادها فعليًا من التغطية نفسها. الأمر يتعلق بالحاجة إلى استبعاد اختبارات الحالات من التغطية دون أن تؤثر على نسبة التغطية بشكل سلبي.

في مثالك، يوجد لديك حزمة أساسية (Base Package) تحتوي على الفئات العامة واختبارات حالات الاستخدام. ومن الصورة يظهر التغطية الحالية. الهدف هو استبعاد اختبارات حالات الاستخدام (مثل BugReportTest) من حساب التغطية دون أن يتأثر الاختبار الفعلي للأكواد التي تم فحصها.

لتحقيق ذلك، يمكنك استخدام خيارات تكوين EclEmma بشكل ذكي. يمكنك استخدام تكوينات التصفية (Filter Configurations) لتحقيق هذا الهدف. يجب أولاً فهم أن الاختبارات تعتبر جزءًا من الكود، ولكن يمكن استخدام التصفية لتحديد ما إذا كانت تلك الاختبارات يجب أن تظهر في تقرير التغطية أم لا.

قم بفتح إعدادات التصفية في EclEmma وأضف تصفية لاستبعاد اختبارات حالات الاستخدام من تقرير التغطية. يمكنك استخدام تعبيرات الفلتر (Filter Expressions) لتحديد الفئات التي تريد استبعادها. يجب تكوين التصفية بحيث تستثني الاختبارات دون التأثير على الاختبار الفعلي للأكواد.

باستخدام هذا النهج، يمكنك تحقيق هدفك من استبعاد اختبارات حالات الاستخدام من حساب التغطية دون أن تؤثر على نسبة التغطية الإجمالية.

المزيد من المعلومات

بالتأكيد، دعنا نوسع على هذا الموضوع بشكل أكبر لفهم كيف يمكن تكوين تصفية EclEmma بشكل فعال لاستبعاد اختبارات حالات الاستخدام دون التأثير على حساب التغطية.

أولاً وقبل كل شيء، يجب أن نتأكد من فهم استراتيجية التصفية في EclEmma. يمكنك استخدام تعبيرات التصفية لتحديد الفئات والطرق (الميثودز) التي تريد استبعادها من التغطية. لتحقيق هدفك، يمكنك اتباع الخطوات التالية:

  1. فتح إعدادات التصفية:

    • انتقل إلى قائمة “Run” في Eclipse، ثم “Run Configurations”.
    • ابحث عن تكوين اختبار الوحدة الخاص بك (JUnit Test Configuration).
  2. إضافة تصفية جديدة:

    • تحت تبويب “Coverage”, انقر على “Filter Configurations”.
    • اختر “Add Filter” لإضافة تصفية جديدة.
  3. تكوين التصفية:

    • في نافذة التكوين، استخدم تعبيرات التصفية لتحديد الفئات التي تريد استبعادها. على سبيل المثال:
      kotlin
      !class com.example.tests.BugReportTest

      هذا سيقوم بتصفية فئة BugReportTest.

  4. تطبيق التغييرات:

    • بمجرد تكوين التصفية وتحديد الفئات المراد استبعادها، انقر على “Apply” ثم “Run” لتشغيل اختباراتك مع التصفية المكونة.

تأكد من أن تعبيرات التصفية تعكس الفئات التي تريد استبعادها، وفي الوقت نفسه، تحتفظ بالاختبارات الفعلية التي تفحص الأكواد بدقة.

يمكنك أيضًا تحديد تصفيات إضافية لاستبعاد الميثودز الخاصة بالاختبارات إذا كانت ذلك ضروريًا.

بهذه الطريقة، يمكنك تخصيص إعدادات EclEmma بشكل دقيق لضمان استبعاد اختبارات حالات الاستخدام من حساب التغطية دون التأثير على النتائج الفعلية للاختبارات.

زر الذهاب إلى الأعلى