Traduce las pruebas JUnit

Los proyectos de software bien diseñados generalmente tienen muchas pruebas de unidades para verificarlos. En los proyectos de Java, JUnit es el framework de prueba de unidades más común. J2ObjC proporciona compatibilidad con la traducción de pruebas de unidades, de modo que se puedan ejecutar como objetos binarios en OS X. Esto verifica que la traducción no haya cambiado la semántica (comportamiento) de las clases traducidas y verifica que el código traducido se ejecute como código Objective-C.

Traduce pruebas

Ejecuta j2objc con un elemento junit.jar en la ruta de clase. Se incluye una copia de este archivo jar en la distribución de j2objc, llamada 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

Pruebas de vinculación

Vincula la biblioteca libjunit.a en el directorio lib/ de la distribución J2ObjC mediante la marca -l del compilador:

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

Ejecuta pruebas

Ejecuta el ejecutable de prueba con los nombres de una o más pruebas o conjuntos de pruebas, como las pruebas JUnit se ejecutan en Java. Los nombres pueden ser el nombre completo de Java (con paquete) o el nombre traducido equivalente. Por ejemplo, la clase de prueba com.company.MyUnitTest también se puede especificar como ComCompanyMyUnitTest.

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

org.junit.runner.JUnitCore es uno de los ejecutores de pruebas de JUnit, que puede ejecutar pruebas JUnit3 o JUnit4. No obstante, puedes utilizar cualquier otro ejecutor JUnit.

Compilación de pruebas

Un buen ejemplo de cómo usar make para compilar y ejecutar un gran conjunto de pruebas de unidades se encuentra en j2objc/jre_emul/tests.mk, en el código fuente del proyecto.