Traduce las pruebas JUnit

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

Cómo traducir pruebas

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

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

Ejecución de pruebas

Ejecutar el ejecutable de prueba con los nombres de una o más pruebas o paquetes de pruebas, como las pruebas JUnit que se ejecuta en Java. Los nombres pueden ser el nombre completo de Java (con paquete) o su equivalente nombre traducido. 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 JUnit3 o JUnit4. y pruebas. Sin embargo, se puede usar cualquier otro ejecutor JUnit.

Pruebas de compilación

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