عادةً ما تحتوي مشروعات البرامج المصممة جيدًا على الكثير من اختبارات الوحدات للتحقق منها. بالنسبة إلى مشروعات 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، ضمن رمز المصدر الخاص بالمشروع.