ترجمة اختبارات JUnit

عادةً ما تحتوي مشروعات البرامج المصممة جيدًا على الكثير من اختبارات الوحدات للتحقق منها. بالنسبة إلى مشروعات Java، JUnit هو إطار عمل اختبار الوحدات الأكثر شيوعًا. يوفر J2ObjC الدعم لترجمة اختبارات الوحدة، بحيث يمكن تنفيذها كبرامج ثنائية على نظام التشغيل OS X. يؤكد هذا على أن الترجمة لم تغير دلالات (سلوك) الفئات المترجمة، ويتحقق من أن الرمز المترجَم يعمل كرمز FALSE-C.

ترجمة الاختبارات

شغِّل j2objc مع junit.jar في مسار الفئة. يتمّ تضمين نسخة من ملف jar هذا في توزيع j2objc المسمى lib/j2objc_junit.jar:

# Example: J2ObjC bundle unzipped into a ~/tools directory
export J2OBJC_HOME=~/tools/j2objc
${J2OBJC_HOME}/j2objc -classpath ${J2OBJC_HOME}/lib/j2objc_junit.jar MyUnitTest.java

اختبارات الربط

الربط بمكتبة libjunit.a في دليل lib/ لتوزيع J2ObjC، باستخدام علامة -l الخاصة بأداة التحويل البرمجي:

${J2OBJC_HOME}/j2objcc -ObjC -o mytest -ljunit MyUnitTest.m

إجراء الاختبارات

شغّل الاختبار القابل للتنفيذ باستخدام أسماء اختبار واحد أو أكثر و/أو مجموعات اختبار، مثل إجراء اختبارات JUnit في Java. ويمكن أن تكون الأسماء إما اسم جافا المؤهل بالكامل (مع حزمة) أو الاسم المترجم المكافئ. على سبيل المثال، يمكن أيضًا تحديد فئة الاختبار com.company.MyUnitTest على النحو التالي: ComCompanyMyUnitTest.

./mytest org.junit.runner.JUnitCore com.company.MyUnitTest  # or com.company.Test2

org.junit.runner.JUnitCore هو أحد مُشغّلي اختبار JUnit، الذين يمكنهم إجراء اختبارات JUnit3 أو JUnit4. ومع ذلك، يمكن استخدام أي برنامج تشغيل JUnit آخر.

إنشاء اختبارات

خير مثال على كيفية استخدام make لإنشاء مجموعة كبيرة من اختبارات الوحدات وتنفيذها هو في j2objc/jre_emul/tests.mk، ضمن رمز المصدر الخاص بالمشروع.