JUnit Testcases في Java: Simple JUnit 5.7.1 Hello World Tutorial with All in One Details

نشرت: 2019-10-30
جافا-جونيت- مثال

ما هو JUnit؟

JUnit هو إطار عمل بسيط وقوي ومفتوح المصدر لكتابة وتشغيل الاختبارات القابلة للتكرار. أنا أحب تجارب JUnit. أثناء تطوير مشروع Java الخاص بي ، أستخدم JUnit على نطاق واسع لتغطية الكود. إنه مثيل لهندسة xUnit لأطر اختبار الوحدة.

تتضمن ميزات JUnit ما يلي:

  1. تأكيدات لاختبار النتائج المتوقعة
  2. تركيبات الاختبار لمشاركة بيانات الاختبار المشتركة
  3. العدائين اختبار لإجراء الاختبارات

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

لنبدأ في كتابة الكود.

الخطوة 1

قم بإنشاء مشروع CrunchifyJunitTest وحدد الحزمة com.crunchify.junit . هنا هيكل الحزمة للرجوع اليها بسرعة.

Crunchify JUnit Project Eclipse Structure

الخطوة 2

انقر بزر الماوس الأيمن على CrunchifyJunitTest => فئة جديدة => CrunchifyJunitTest.java

الخطوه 3

سيقترح Eclipse ويضيف تلقائيًا تبعية org.junit.Test بمجرد كتابة Test .

التبعية المخضرمة اختبار الكسوف

الخطوة 4

لاختبار JUnit الخاص بك

  • انقر بزر الماوس الأيمن على الفصل
  • انقر فوق "تشغيل باسم"
  • انقر فوق JUnit Test

يجب أن نرى شيئا من هذا القبيل.

نجح اختبار JUnit

الخطوة 5

حاول تغيير معلمة القيمة المتوقعة للطريقة من 30 => 300 ومن Hello World => Hello -- World واختبرها مرة أخرى.

فشل اختبار JUnit - تلميحات Crunchify

الخطوة 6

لنقم الآن بتشغيل نفس حالة الاختبار via other java . قم CrunchifyRunnerJUnit.java

الخطوة 7

قم بتشغيل CrunchifyRunnerJUnit.java كتطبيق Java Application .

الخطوة 8

في حالة 1st code (المعلمة المتوقعة الصحيحة) ، يجب أن ترى الإخراج مثل هذا:

الخطوة 9

في حالة 2nd code (معلمة متوقعة غير صحيحة) ، يجب أن ترى شيئًا كالتالي:

وأنت على أتم استعداد. اسمحوا لي أن أعرف إذا كنت ترى أي مشكلة في تشغيل هذا الرمز.

برنامج JUnit التعليمي بواسطة Crunchify

التعليقات التوضيحية المتوفرة في حالة اختبار JUnit:

حاشية. ملاحظة

وصف

@ اختبار أسلوب الفراغ العام () يحدد التعليق التوضيحيTest أن الطريقة هي طريقة اختبار.
B Before public void method () سيتم تنفيذ الطريقة قبل كل اختبار. يمكن أن تقوم هذه الطريقة بإعداد بيئة الاختبار (مثل قراءة بيانات الإدخال ، وتهيئة الفصل).
@ بعد أسلوب الفراغ العام () سيتم تنفيذ الطريقة بعد كل اختبار. يمكن لهذه الطريقة تنظيف بيئة الاختبار (مثل حذف البيانات المؤقتة واستعادة الإعدادات الافتراضية).
BeforeClass طريقة الفراغ العامة () سيتم تنفيذ الطريقة مرة واحدة ، قبل بدء جميع الاختبارات. يمكن استخدام هذا لأداء أنشطة تستغرق وقتًا طويلاً ، على سبيل المثال للاتصال بقاعدة بيانات.
AfterClass طريقة الفراغ العامة () سيتم تنفيذ الطريقة مرة واحدة ، بعد انتهاء جميع الاختبارات. يمكن استخدام هذا لأداء أنشطة التنظيف ، على سبيل المثال لقطع الاتصال بقاعدة البيانات.
@يتجاهل سوف نتجاهل طريقة الاختبار. يكون هذا مفيدًا عندما يتم تغيير الكود الأساسي ولم يتم تكييف حالة الاختبار بعد. أو إذا كان وقت تنفيذ هذا الاختبار طويلاً جدًا بحيث يتعذر تضمينه.
Test (متوقع = Exception.class) فشل ، إذا لم يقم الأسلوب بإلقاء الاستثناء المحدد.
@ الاختبار (المهلة = 100) فشل ، إذا استغرقت الطريقة أكثر من 100 مللي ثانية.

طرق اختبار التأكيد المتاحة:

إفادة

وصف

فشل (سلسلة) دع الطريقة تفشل. يمكن استخدامه للتحقق من عدم الوصول إلى جزء معين من الكود. أو أن يكون لديك اختبار فاشل قبل تنفيذ كود الاختبار.
assertTrue (صحيح) / assertTrue (خطأ) سيكون دائما صحيحا / خطأ. يمكن استخدامه لتحديد نتيجة الاختبار مسبقًا ، إذا لم يتم تنفيذ الاختبار بعد.
assertTrue ([message] ، شرط منطقي) يتحقق من صحة الشرط المنطقي.
assertsEquals ([رسالة سلسلة] ، المتوقعة ، الفعلية) اختبارات أن القيمتين متماثلتين. ملاحظة: بالنسبة للمصفوفات ، يتم فحص المرجع وليس محتوى المصفوفات.
assertsEquals ([رسالة سلسلة] ، المتوقعة ، الفعلية ، التسامح) اختبار تطابق القيم العائمة أو المزدوجة. التفاوت هو عدد الكسور العشرية التي يجب أن تكون متطابقة.
assertNull ([رسالة] ، كائن) يتحقق من أن الكائن فارغ.
assertNotNull ([رسالة] ، كائن) يتحقق من أن الكائن ليس فارغًا.
assertSame ([سلسلة] ، متوقع ، فعلي) يتحقق من أن كلا المتغيرين يشيران إلى نفس الكائن.
assertNotSame ([سلسلة] ، متوقع ، فعلي) يتحقق من أن كلا المتغيرين يشيران إلى كائنات مختلفة.