أسئلة وأجوبة مقابلة Junit [للمبتدئين وذوي الخبرة]
نشرت: 2020-09-22JUnit هو حل ممتاز للمطورين الذين يعملون بلغة برمجة Java. يمكن استخدامه لتنفيذ اختبار الوحدة وكذلك اختبار واجهة المستخدم. إنها واحدة من أكثر الكفاءات المطلوبة للمؤسسات التي تتطلع إلى تحسين جودة الكود وسرعة البرمجة. تناقش هذه المقالة أسئلة مقابلة JUnit القياسية لمساعدتك على الاستعداد وإدراجها في القائمة المختصرة!
أفضل 15 أسئلة وأجوبة مقابلة JUnit
1. ما هو JUnit؟
JUnit هو إطار عمل يستخدم لإجراء اختبار الوحدة لرمز Java. يعتبر أساس اختبار جانب المطور على محرك JVM. لذلك ، تعد JUnit جزءًا لا يتجزأ من مجال البرمجة والتطوير القائم على الاختبار.
2. ماذا تفهم من خلال الاختبار واختبار الوحدة؟
الاختبار هو عملية التحقق مما إذا كان التطبيق يفي بالمتطلبات ويحقق الوظائف المطلوبة. يشير اختبار الوحدة إلى تقييم وظيفة فردية أو وحدة من التطبيق.
3. التفريق بين الاختبار اليدوي والآلي.

يتم تنفيذ الاختبار اليدوي بدون نصوص اختبار ويتطلب جهدًا بشريًا مخصصًا للخطوات المختلفة المتضمنة. من ناحية أخرى ، يمكن إجراء الاختبار الآلي بدون مساعدة بشرية باستخدام أدوات التكنولوجيا والبرامج. تعتبر أتمتة الاختبار أرخص وأقل استهلاكا للوقت من الاختبار اليدوي. كما أن الاختبار اليدوي أقل موثوقية حيث لا يمكن برمجته.
4. هل عليك كتابة حالة اختبار لكل منطق؟
حالة الاختبار هي رمز مكتوب لتأسيس منطق البرنامج. في JUnit ، ليس من الضروري كتابة حالة اختبار لكل منطق ولكن فقط لأولئك الذين يمكن كسرهم بشكل معقول.
ستشمل حالة اختبار الوحدة مجموعة من بيانات الإدخال والمخرجات المتوقعة. تحتوي حزمة org.junit على عدة فئات وواجهات لمساعدتك في اختبار الوحدة ، مثل Assert ، Test ، Before ، After ، إلخ.
5. أذكر بعض الأمثلة للأدوات التي يمكنك من خلالها دمج JUnit؟
JUnit هو إطار عمل سهل الاستخدام لتطوير Java. يمكن تمديده بسهولة ودمجه مع Eclipse IDE و Apache Ant و Maven.
6. ضع قائمة ببعض ملحقات JUnit المفيدة واشرح الغرض منها.
هناك أربعة امتدادات رئيسية لـ JUnit ، وهي Cactus و JWebUnit و XMLUnit و MockObject. لقد وصفنا استخداماتها بالتفصيل أدناه.
- Cactus: هو إطار عمل لاختبار كود Java من جانب الخادم والذي ينفذ الاختبارات داخل الحاوية. يتكون النظام البيئي للصبار من مكونين ، وهما إطار الصبار ووحدات تكامل الصبار. الإطار هو المحرك الذي يوفر واجهة برمجة التطبيقات (API) لكتابة الاختبارات ، بينما تهتم وحدات التكامل بالواجهة الأمامية بمساعدة المكونات الإضافية.
- JWebUnit: يوفر هذا الإطار المستند إلى جافا واجهة اختبار موحدة من خلال الجمع بين إمكانات HtmlUnit و Selenium. يجعل JWebUnit التنقل في تطبيقات الويب أمرًا سهلاً عبر الروابط والتحقق من صحة محتوى الجدول وإدخال النموذج وإرساله وميزات أخرى. بالإضافة إلى Java API عالي المستوى ، فإنه يسمح بإنشاء اختبار سريع مع تأكيداته الجاهزة للاستخدام.
- XMLUnit: يقدم فئة امتداد واحدة تسمى XMLTestCase. توفر XMLUnit أيضًا فئات داعمة تسمح بالتأكيدات حول صلاحية قطعة XML (فئة Validator) ، والاختلافات بين جزأين من XML (Diff و DetailedDiff) ، ونتائج تحويل XML (فئة Transformer) ، من بين أشياء أخرى.
- MockObject: عندما يكون من المستحيل أو غير العملي تضمين أشياء حقيقية في اختبار الوحدة ، يمكن أن تثبت الكائنات الوهمية أنها نعمة. يمكنك محاكاة سلوك الكائنات المعقدة ودمجها بخطوات الترميز التالية:
- إنشاء حالات من كائنات وهمية
- ضع الحالة والتوقعات
- استدعاء رمز المجال باستخدام كائنات وهمية كمعلمات
- تحقق من الاتساق
7. كيف تختبر الطرق "المحمية" و "الخاصة"؟
في الطريقة المحمية ، يتم الإعلان عن فئة الاختبار والفئة المستهدفة في نفس الحزمة. ومع ذلك ، في الطريقة الخاصة ، لا توجد طريقة مباشرة للاختبار. إما أن تضطر إلى تغيير طريقتك إلى "محمية" أو إجراء الاختبار يدويًا.
8. ماذا يحدث في JUnit عندما يكون نوع الإرجاع هو "سلسلة"؟
في هذه الحالة ، سوف يمر التجميع ، لكن التنفيذ سيفشل. قد يحدث هذا لأن جميع طرق اختبار JUnit مصممة لإرجاع "الفراغ".
9. حدد (1) التركيبات (2) بدلة الاختبار (3) عداء الاختبار (4) فئات الوحدة
(ط) تستخدم التركيبات كخط أساس لإجراء الاختبارات ، وتحديد إمكانية تكرار النتائج. تشتمل تجهيزات الاختبار على حالة ثابتة لمجموعة من الكائنات. تشمل الطرق:
- setUp (): يتم تشغيله قبل استدعاء الاختبار.
- tearDown (): يتم تشغيله بعد طريقة الاختبار.
(2) عداء الاختبار: ينفذ حالات الاختبار.

(3) فئات JUnit: تحتوي على طرق لاستخدامها في كتابة واختبار الوحدات المشتركة.
(4) Test Suite عبارة عن حزمة أو مجموعة من حالات اختبار الوحدة ليتم تشغيلها معًا. يمكنك إجراء اختبار جناح في JUnit باستخدام التعليق التوضيحيSuite أوRunWith.
قراءة: مشروع نظام إدارة المكتبات بجافا
10. أذكر بعض التعليقات التوضيحية لـ JUnit التي يتم استخدامها بشكل متكرر.
التعليقات التوضيحية هي ببساطة علامات وصفية يمكنك إضافتها إلى التعليمات البرمجية الخاصة بك. يحدد التعليق التوضيحيTest طريقة معينة كطريقة اختبار. تتضمن بعض التعليقات التوضيحية المفيدة الأخرىBefore وBeforeClass وAfter وAfterClass وIgnores. لتنفيذ اختبار JUnit ، ستحتاج إلى معرفة أهمية هذه التعليقات التوضيحية. لذا دعونا نتعرف عليهم واحدا تلو الآخر.
- الاختبار: يخبر هذا التعليق التوضيحي JUnit أنه يمكنه تشغيل طريقة الفراغ العام كحالة اختبار. إنه في الأساس بديل لـ org.junit.TestCase
- قبل: إذا كنت تريد تنفيذ أي عبارات (على سبيل المثال ، شروط مسبقة) قبل حالة اختبار معينة ، يمكنك استخدامBefore. يسمح لك هذا التعليق التوضيحي بتشغيل كائنات مماثلة قبل طرق الاختبار.
- قبل الفصل الدراسي: يمكنك استخدام التعليق التوضيحيBeforeClass في JUnit لتشغيل العبارات قبل جميع حالات الاختبار.
- بعد: يتسبب في تشغيل بعض العبارات بعد كل حالة اختبار ، مثل حذف الملفات المؤقتة وإعادة تعيين المتغيرات وما إلى ذلك.
- بعد الفصل الدراسي: يتيح لك التعليق التوضيحيAfterClass تنفيذ العبارات بعد كل حالات الاختبار. على سبيل المثال ، إصدار جميع الموارد بعد إتمام التنفيذ.
- تجاهل: يستخدم لتجاهل بعض العبارات أثناء التنفيذ. على سبيل المثال ، تعطيل حالات الاختبار.
اقرأ أيضًا : أسئلة مقابلة جافا
11. اشرح الأنواع المختلفة لفئات JUnit.
Assert و TestCase و TestResult هي بعض فئات JUnit الحيوية. يوفر Assert طرقًا لحالات الاختبار. يحتوي TestCase على حالة اختبار ، تحدد الجهاز لتنفيذ اختبارات متعددة. يتضمن TestResult طرقًا لجمع النتائج.
12. متى تكتب اختبار الوحدة؟
في دورة التطوير النموذجية ، تتم كتابة اختبارات الوحدة قبل الكود. تمكن هذه الممارسة المطورين من الحفاظ على جودة التعليمات البرمجية الخاصة بهم.
13. لماذا يجب الامتناع عن استخدام System.out.printIn () لتصحيح الأخطاء؟
إذا كنت تستخدم System.out.printIn () لتصحيح التعليمات البرمجية الخاصة بك ، فستستفيد على المدى الطويل. في كل مرة يتم فيها تشغيل البرنامج ، سيؤدي ذلك إلى مسح يدوي للإخراج بالكامل للتأكد من أن الكود يعمل بشكل صحيح. لذلك ، قد يتطلب الأمر وقتًا أقل نسبيًا لتشفير طرق JUnit وإجراء الاختبار على ملفات الفئات.
14. أين تذهب قمامة الاختبار في JUnit؟
يحمل عداء الاختبار المراجع طوال مدة الاختبار. في حالة الاختبار الممتد الذي يحتوي على العديد من حالات الاختبار ، فقد لا يتم جمع القمامة حتى نهاية التشغيل التجريبي. يمكننا استخدام tearDown () لجمع القمامة قبل اكتمال التشغيل التجريبي. في هذه الطريقة ، قمنا بتعيين كائن صراحة على قيمة خالية.
15. كيف تقوم بتثبيت Junit؟

الخطوة الأولى هي تنزيل JUnit 5 ، أحدث إصدار من JUnit (سيكون ملفًا باسم junit.zip). سنطلب منك فك ضغط ملف التوزيع إلى دليل ،٪ JUNIT_HOME٪. ثم نضيف JUnit إلى classpath.
بعد ذلك ، سنختبر التثبيت. قد يتضمن ذلك إجراء اختبارات نموذجية (ليست موجودة في ملف junit.jar ، ولكن في دليل التثبيت) الموزعة مع Junit. أخيرًا ، نؤكد أن جميع الاختبارات اجتازت برسالة "موافق". إذا لم يفعلوا ذلك ، فسنرجع ونتحقق مما إذا كان junit.jar موجودًا في مسار الفصل.
تحقق من: كيفية برمجة مشاريع Java وتجميعها وتشغيلها
خاتمة
باستخدام أسئلة مقابلة JUnit المذكورة أعلاه ، يمكنك صقل مفاهيمك استعدادًا لوظائف المطورين. تشمل المناصب مثل مهندس أتمتة الاختبار ومهندس البرمجيات أيضًا JUnit في مجموعة المهارات المطلوبة. يرغب القائمون على التوظيف في قياس معرفتك التقنية وقدرتك على الاتصال. لذا ، فإن محتوى إجابتك وكيفية تقديمها من شأنه أن يحدث فرقًا كبيرًا.
إذا كنت مهتمًا بمعرفة المزيد حول تطوير البرامج كاملة المكدس ، فراجع دبلومة PG upGrad & IIIT-B في تطوير البرامج الكاملة التي تم تصميمها للمهنيين العاملين وتقدم أكثر من 500 ساعة من التدريب الصارم ، وأكثر من 9 مشاريع ، و المهام ، وحالة خريجي IIIT-B ، ومشاريع التخرج العملية العملية والمساعدة في العمل مع الشركات الكبرى.