Bei ausgefeilten Softwareprojekten werden in der Regel viele Einheitentests durchgeführt, um sie zu verifizieren. Bei Java-Projekten JUnit ist das gängigste Unittest-Framework. J2ObjC bietet Übersetzung von Einheitentests, sodass sie unter OS X als Binärprogramme ausgeführt werden können. Dadurch wird bestätigt, Die Übersetzung hat die Semantik (das Verhalten) der übersetzten Klassen nicht geändert und bestätigt, dass wird der übersetzte Code als Objective-C-Code ausgeführt.
Tests übersetzen
Führen Sie j2objc mit einem junit.jar
im Klassenpfad aus. Eine Kopie dieser JAR-Datei ist in j2objc enthalten.
Distribution mit dem Namen 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 verknüpfen
Stellen Sie eine Verknüpfung mit der libjunit.a
-Bibliothek im Verzeichnis lib/
der J2ObjC-Distribution her. Verwenden Sie dazu den
-l
-Flag des Compilers an:
${J2OBJC_HOME}/j2objcc -ObjC -o mytest -ljunit MyUnitTest.m
Laufende Tests
Führen Sie die ausführbare Testdatei mit den Namen eines oder mehrerer Tests und/oder Testsuites aus, wie z. B. JUnit-Tests
in Java ausgeführt wird. Die Namen können entweder der vollständig qualifizierte Java-Name (mit -Paket) oder der entsprechende
übersetzten Namen. Die Testklasse com.company.MyUnitTest
kann beispielsweise auch so angegeben werden:
ComCompanyMyUnitTest
.
./mytest org.junit.runner.JUnitCore com.company.MyUnitTest # or com.company.Test2
org.junit.runner.JUnitCore
ist einer der Test-Runner von JUnit, der entweder JUnit3 oder JUnit4 ausführen kann
Tests durchführen. Es kann jedoch jeder andere JUnit-Runner verwendet werden.
Tests erstellen
Ein gutes Beispiel für die Verwendung von make
zum Erstellen und Ausführen einer großen Anzahl von Einheitentests finden Sie in
j2objc/jre_emul/tests.mk im
Projektquellcode.