Menerjemahkan Pengujian JUnit

Proyek perangkat lunak yang direkayasa dengan baik biasanya memiliki banyak pengujian unit untuk memverifikasinya. Untuk project Java, JUnit adalah framework pengujian unit yang paling umum. J2ObjC menyediakan dukungan untuk menerjemahkan pengujian unit sehingga dapat dijalankan sebagai biner di OS X. Tindakan ini memastikan bahwa terjemahan tersebut tidak mengubah semantik (perilaku) class yang diterjemahkan, dan memverifikasi bahwa kode yang diterjemahkan berjalan sebagai kode Objective-C.

Menerjemahkan Pengujian

Jalankan j2objc dengan junit.jar di classpath. Salinan file jar ini disertakan dalam distribusi j2objc, dengan nama 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

Menautkan Pengujian

Tautkan dengan library libjunit.a di direktori lib/ distribusi J2ObjC, menggunakan flag -l compiler:

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

Menjalankan Pengujian

Jalankan pengujian yang dapat dieksekusi dengan nama satu atau beberapa pengujian dan/atau rangkaian pengujian, seperti pengujian JUnit yang dijalankan di Java. Nama tersebut dapat berupa nama Java yang sepenuhnya memenuhi syarat (dengan paket), atau nama terjemahan yang setara. Misalnya, class pengujian com.company.MyUnitTest juga dapat ditentukan sebagai ComCompanyMyUnitTest.

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

org.junit.runner.JUnitCore adalah salah satu runner pengujian JUnit, yang dapat menjalankan pengujian JUnit3 atau JUnit4. Namun, runner JUnit lainnya dapat digunakan.

Membuat Pengujian

Contoh yang baik tentang cara menggunakan make untuk membuat dan menjalankan serangkaian besar pengujian unit adalah di j2objc/jre_emul/tests.mk, dalam kode sumber project.