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

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