ترجمه تست های JUnit

پروژه‌های نرم‌افزاری که به خوبی مهندسی شده‌اند معمولاً آزمایش‌های واحد زیادی برای تأیید آنها دارند. برای پروژه های جاوا، JUnit رایج ترین چارچوب تست واحد است. J2ObjC برای ترجمه تست های واحد پشتیبانی می کند، بنابراین می توان آنها را به صورت باینری در OS X اجرا کرد. این تأیید می کند که ترجمه معنایی (رفتار) کلاس های ترجمه شده را تغییر نداده است، و تأیید می کند که کد ترجمه شده به عنوان کد Objective-C اجرا می شود. .

تست های ترجمه

j2objc را با junit.jar در classpath اجرا کنید. یک کپی از این فایل 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 که در جاوا اجرا می‌شوند. نام‌ها می‌توانند نام جاوا کاملاً واجد شرایط (با بسته)، یا نام ترجمه‌شده معادل باشند. به عنوان مثال، کلاس آزمایشی 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 ، در کد منبع پروژه است.