عادة ما تحتوي مشروعات البرامج المصممة بشكل جيد على الكثير من اختبارات الوحدة للتحقق منها. بالنسبة لمشروعات Java، JUnit هو إطار العمل الأكثر شيوعًا لاختبار الوحدات. توفّر شركة J2ObjC لترجمة اختبارات الوحدة، بحيث يمكن تنفيذها كبرامج ثنائية على نظام التشغيل OS X. يؤكد هذا أن الترجمة لم تغير دلالات (سلوك) الفئات المترجمة، وتتحقق من أن يتم تشغيل التعليمة البرمجية المترجمة ككود Objective-C.
ترجمة الاختبارات
نفِّذ الأمر j2objc باستخدام junit.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. ويمكن أن تكون الأسماء إما اسم 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، في
رمز مصدر المشروع.