في تطوير البرمجيات ، يعد اختبار الوحدة عملية تعزل وتختبر أقسامًا مخصصة من التطبيق. الوحدات هي المصطلح الرسمي لهذه الأقسام المخصصة. في تطبيق Java الخاص بك ، تعتبر الوحدة طريقة.

هناك العديد من أطر عمل اختبار الوحدات المتاحة لمطوري Java. من بين أفضل الأطر هو JUnit 5.

لماذا يعتبر اختبار الوحدة مهمًا؟

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

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

يستهدف اختبار الوحدة كل قسم من أقسام التطبيق - سواء كان يتسبب حاليًا في حدوث خطأ أم لا. لذلك ، يلعب اختبار الوحدة دورًا مهمًا في أمان برنامج جيد.

ما هو JUnit 5؟

تعد JUnit 5 أكثر من مجرد إطار اختبار وحدة آخر. لديها العديد من المشاريع الفرعية ، وهي منصة JUnit و JUnit Jupiter و JUnit Vintage. يحتوي كل مكون من هذه المكونات الثلاثة على وحدات نمطية فريدة تعمل معًا لتحسين الاختبار لمبرمجي Java.

instagram viewer

منصة JUnit 5 متاحة في أحدث إصدارات أفضل منصات تطوير Java المتكاملة (IDE). IDEs Java التي تدعم JUnit 5 هي:

  • IntelliJ IDEA
  • كسوف
  • NetBeans
  • كود الاستوديو المرئي

إنشاء اختبارات الوحدة باستخدام JUnit 5

يستخدم هذا البرنامج النموذجي JUnit 5 لإنشاء عدة اختبارات للوحدة على تطبيق آلة حاسبة بسيط.

فئة الآلة الحاسبة

حزمة تطبيق؛

عامصف دراسيآلة حاسبة{
عامثابتةintيضيف(int العدد 1 ، int العدد 2){
إرجاع عدد 1 + عدد 2 ؛
}

عامثابتةintطرح او خصم(int العدد 1 ، int العدد 2){
إرجاع العدد 1 - العدد 2 ؛
}

عامثابتةintتتضاعف(int العدد 1 ، int العدد 2){
إرجاع num1 * num2 ؛
}

عامثابتةintيقسم(int العدد 1 ، int العدد 2){
إرجاع num1 / num2 ؛
}
}

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

فئة اختبار JUnit 5

حزمة اختبار؛

يستوردثابتة org.junit. يجزم.*؛
يستورد تطبيق. آلة حاسبة؛
يستوردغزاله.junit.اختبار;

عامصف دراسيآلة حاسبة{
@اختبار
عامفارغاختبار(){
أكد(7, آلة حاسبة.يضيف(3, 4));
}

@اختبار
عامفارغاختبار(){
أكد(6, آلة حاسبة.طرح او خصم(9, 3));
}

@اختبار
عامفارغاختبار(){
أكد(10, آلة حاسبة.تتضاعف(5, 2));
}

@اختبار
عامفارغاختبار(){
أكد(2, آلة حاسبة.يقسم(4, 2));
}
}

آلة حاسبة يقدم مفهومين مهمين: @اختبار الشرح و تأكيد المساواة () طريقة. يشير التعليق التوضيحي لـ @ Test إلى أن الطريقة الموجودة أسفلها مباشرةً هي طريقة اختبار. في فئة الاختبار أعلاه ، توجد أربع طرق اختبار ، واحدة لكل عملية من عمليات الآلة الحاسبة.

تستخدم جميع طرق الاختبار طريقة assertEquals (). تأخذ هذه الطريقة وسيطتين إلزاميتين ووسيطة ثالثة اختيارية. الوسيطة الأولى المعطاة لطريقة assertEquals () أعلاه هي النتيجة المتوقعة ، والوسيطة الثانية هي الطريقة (أو الوحدة) التي تريد تقييمها.

لا تحتوي فئة CalculatorTest على طريقة رئيسية ، ولكن التعليقات التوضيحية JUnitTest تجعل كل طريقة من طرق الاختبار قابلة للتنفيذ. ينتج عن تنفيذ فئة CalculatorTest في الكسوف الواجهة التالية:

كما ترى ، كل اختبار ناجح. هناك أربعة اختبارات ، وأجريت جميعها دون أخطاء أو فشل.

يمكن أن يؤدي اختبار وحدة التعلم إلى زيادة فرصك المهنية

بصفتك مطورًا ، تعد معرفة كيفية اختبار البرامج مهارة مفيدة. سيؤدي ذلك بالتأكيد إلى تحسين سير عملك ، ونأمل أن يجعل الكود الخاص بك أسهل في الاستخدام للآخرين. ومع ذلك ، هناك فرع لتطوير البرامج يركز فقط على الاختبار. يُعرف هؤلاء المهندسين باسم مختبري البرامج.