Generalmente, i progetti software ben progettati vengono sottoposti a molti test delle unità per verificarli. Per i progetti Java, JUnit è il framework di test delle unità più comune. J2ObjC fornisce per la traduzione dei test delle unità, in modo che possano essere eseguiti come file binari su OS X. In questo modo si verifica la traduzione non ha modificato la semantica (comportamento) delle classi tradotte e verifica che il codice tradotto viene eseguito come codice Objective-C.
Test di traduzione
Esegui j2objc con un junit.jar
nel classpath. Una copia di questo file jar è inclusa nel file j2objc
di distribuzione, denominata 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
Collegamento dei test
Esegui il collegamento alla libreria libjunit.a
nella directory lib/
della distribuzione J2ObjC, utilizzando il metodo
flag -l
del compilatore:
${J2OBJC_HOME}/j2objcc -ObjC -o mytest -ljunit MyUnitTest.m
Esecuzione dei test
Esegui l'eseguibile di test con i nomi di uno o più test e/o suite di test, come i test JUnit
vengono eseguiti in Java. I nomi possono essere il nome completo Java (con pacchetto) o l'equivalente
il nome tradotto. Ad esempio, la classe di test com.company.MyUnitTest
può essere specificata anche come
ComCompanyMyUnitTest
.
./mytest org.junit.runner.JUnitCore com.company.MyUnitTest # or com.company.Test2
org.junit.runner.JUnitCore
è uno dei runner di prova di JUnit, che può eseguire JUnit3 o JUnit4
test. Tuttavia, è possibile usare qualsiasi altro runner JUnit.
Test dell'edificio
Un buon esempio di come utilizzare make
per creare ed eseguire un ampio set di test delle unità è in
j2objc/jre_emul/tests.mk, nel
codice sorgente del progetto.