JUnit اختبار المعلمات مع مثال باستخدام @Parameters

ما هو اختبار المعلمات في Junit?

اختبار المعلمات هو تنفيذ نفس الاختبار مرارًا وتكرارًا باستخدام قيم مختلفة. فهو يساعد المطور على توفير الوقت في تنفيذ نفس الاختبار الذي يختلف فقط في مدخلاته والنتائج المتوقعة.

باستخدام اختبار ذو معلمات، يمكن للمرء إعداد طريقة اختبار تسترد البيانات من بعض مصادر البيانات.

النظر في اختبار بسيط لمجموع مختلفة numbers. قد يبدو الرمز –

اختبار المعلمات في Junit

النهج أعلاه يؤدي إلى الكثير من التكرار.

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

خطوات إنشاء معلمة JUnit تجربه بالعربي

فولوwing يُظهر الكود مثالاً لاختبار ذي معلمات. يقوم باختبار طريقة sum() للفئة الحسابية:

الخطوة 1) إنشاء فصل دراسي. في هذا المثال، سنقوم بإدخال اثنين numbers باستخدام طريقة sum (int,int) والتي ستعيد مجموع المعطى numbers

خطوات إنشاء معلمة JUnit اختبار

الخطوة 2) إنشاء فئة اختبار ذات معلمات

خطوات إنشاء معلمة JUnit اختبار

شرح الكود

  • سطر الكود 11: قم بتعليق فصل الاختبار الخاص بك باستخدام @runWith(Parameterized.class).
  • سطر الكود 13: الإعلان عن المتغير "firstNumber" على أنه خاص واكتبه كـ int.
  • سطر الكود 14: الإعلان عن المتغير "الرقم الثاني" باعتباره خاصًا واكتبه كـ int.
  • سطر الكود 15: الإعلان عن المتغير "expectedResult" باعتباره خاصًا واكتبه كـ int.
  • سطر الكود 16: الإعلان عن المتغير "airthematic" على أنه خاص ونوعه كـ Airthematic.

@إركض مع(class_name.class): @إركض مع يتم استخدام التعليق التوضيحي لتحديد اسم فئة العداء الخاص به. إذا لم نحدد أي نوع كمعلمة، فسيتم اختيار وقت التشغيل حظرJunit4 كلاس رانر بشكل افتراضي.

هذه الفئة مسؤولة عن إجراء الاختبارات باستخدام نسخة اختبار جديدة. وهي المسؤولة عن الاستدعاء JUnit أساليب دورة الحياة مثل الإعداد (الموارد المرتبطة) والتفكيك (موارد الإصدار).

لتحديد المعلمات، يجب عليك إضافة تعليق توضيحي باستخدام @RunWith وتمرير .class المطلوب ليتم اختباره

الخطوة 3) قم بإنشاء مُنشئ يقوم بتخزين بيانات الاختبار. يقوم بتخزين 3 متغيرات

خطوات إنشاء معلمة JUnit اختبار

الخطوة 4) قم بإنشاء طريقة ثابتة تقوم بإنشاء وإرجاع بيانات الاختبار.

خطوات إنشاء معلمة JUnit اختبار

سطر الكود 32,33: إنشاء مصفوفة ثنائية الأبعاد (توفير معلمات الإدخال للإضافة). باستخدام طريقة asList نقوم بتحويل البيانات إلى نوع القائمة. نظرًا لأن نوع الإرجاع لإدخال الطريقة هو المجموعة.

سطر الكود 30: باستخدام @حدود تعليق توضيحي لإنشاء مجموعة من بيانات الإدخال لإجراء اختبارنا.

تقوم الطريقة الثابتة التي تم تحديدها بواسطة التعليق التوضيحي @Parameters بإرجاع مجموعة حيث سيكون كل إدخال في المجموعة هو بيانات الإدخال لتكرار واحد للاختبار.

النظر في العنصر

1,2,3 {}

هنا

الرقم الأول=1

الرقم الثاني = 2

النتيجة المتوقعة=3

هنا سيتم تمرير كل عنصر من عناصر المصفوفة إلى المُنشئ، واحدًا تلو الآخر حيث يتم إنشاء مثيل للفئة عدة مرات.

الخطوة 5) الكود الكامل

خطوات إنشاء معلمة JUnit اختبار

شرح الكود:

  • سطر الكود 25: استخدام التعليق التوضيحي @Before لإعداد الموارد (Airthematic.class هنا). يتم استخدام التعليق التوضيحي @Before هنا للتشغيل قبل كل حالة اختبار. أنه يحتوي على شرط مسبق للاختبار.
  • سطر الكود 36: استخدام التعليق التوضيحيTest لإنشاء اختبارنا.
  • سطر الكود 39: إنشاء عبارة تأكيد للتحقق مما إذا كان مجموعنا يعادل ما توقعناه.

الخطوة 6) قم بإنشاء فئة عداء اختبار لتشغيل اختبار ذو معلمات:

خطوات إنشاء معلمة JUnit اختبار

شرح الكود:

  • سطر الكود 8: الإعلان عن الطريقة الرئيسية للاختبار الصفي الذي سيتم تشغيله لدينا JUnit الاختبار.
  • سطر الكود 9: تنفيذ حالات الاختبار باستخدام JunitCore.runclasses، سيأخذ اسم فئة الاختبار كمعلمة (في مثالنا نستخدم Airthematic.class).
  • سطر الكود 11: معالجة النتيجة باستخدام حلقة for وطباعة النتيجة الفاشلة.
  • سطر الكود 13: طباعة النتيجة الناجحة.

الإخراج:

فيما يلي الإخراج الذي يُظهر اختبارًا ناجحًا بدون أي أثر للفشل كما هو موضح أدناه:

خطوات إنشاء معلمة JUnit اختبار

شاهد النتيجة على وحدة التحكم، والتي تظهر إضافة اثنين numbers :-

JUnit اختبار المعلمات

نبذة عامة

يمكّن اختبار المعلمات المطور من تنفيذ نفس الاختبار مرارًا وتكرارًا باستخدام قيم مختلفة.

التعليقات التوضيحية الهامة التي سيتم استخدامها أثناء تحديد المعلمات

  • @إركض مع
  • @حدود