Traduzione di JUnit Test

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.