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.