Traduction des tests JUnit

Les projets logiciels bien conçus ont généralement de nombreux tests unitaires pour les vérifier. Pour les projets Java, JUnit est le framework de test unitaire le plus courant. J2ObjC prend en charge la traduction des tests unitaires afin qu'ils puissent être exécutés en tant que binaires sous OS X. Cela permet de vérifier que la traduction n'a pas modifié la sémantique (comportement) des classes traduites et de s'assurer que le code traduit s'exécute en tant que code Goal-C.

Tests de traduction

Exécutez j2objc avec un junit.jar dans le chemin de classe. Une copie de ce fichier JAR est incluse dans la distribution j2objc, nommée 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

Tests d'association

Créez un lien avec la bibliothèque libjunit.a dans le répertoire lib/ de la distribution J2ObjC, à l'aide de l'indicateur -l du compilateur:

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

Exécution des tests

Exécutez l'exécutable de test avec le nom d'un ou de plusieurs tests et/ou suites de tests, comme les tests JUnit sont exécutés en Java. Les noms peuvent être le nom Java complet (avec package) ou le nom traduit équivalent. Par exemple, la classe de test com.company.MyUnitTest peut également être spécifiée en tant que ComCompanyMyUnitTest.

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

org.junit.runner.JUnitCore est l'un des exécuteurs de test de JUnit, qui peut exécuter des tests JUnit3 ou JUnit4. Toutefois, vous pouvez utiliser n'importe quel autre exécuteur JUnit.

Tests de bâtiment

Un bon exemple d'utilisation de make pour compiler et exécuter un grand ensemble de tests unitaires se trouve dans j2objc/jre_emul/tests.mk, dans le code source du projet.