Tłumaczenie testów JUnit

Dobrze skonstruowane projekty oprogramowania wymagają zwykle wielu testów jednostkowych. W przypadku projektów w języku Java najpowszechniejszą platformą do testowania jednostkowego jest JUnit. J2ObjC zapewnia obsługę testów jednostkowych, dzięki czemu można je uruchamiać jako pliki binarne w OS X. Pozwala to zweryfikować, czy tłumaczenie nie zmieniło semantyki (zachowania) przetłumaczonych klas i sprawdzić, czy przetłumaczony kod działa jako kod w języku Objective-C.

Testy tłumaczenia

Uruchom polecenie j2objc z elementem junit.jar w ścieżce klasy. Kopia tego pliku jar znajduje się w dystrybucji j2objc o nazwie 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

Testy połączeń

Połącz się z biblioteką libjunit.a w katalogu lib/ dystrybucji J2ObjC, używając flagi -l kompilatora:

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

Przeprowadzane testy

Uruchom testowy plik wykonywalny z nazwami co najmniej jednego testu lub pakietu testowego, na przykład testy JUnit są uruchamiane w Javie. Nazwy mogą być w pełni kwalifikowaną nazwą Java (z pakietem) lub jej odpowiednikiem w postaci przetłumaczonej nazwy. Na przykład klasę testową com.company.MyUnitTest można też określić jako ComCompanyMyUnitTest.

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

org.junit.runner.JUnitCore to jeden z testów uruchamiających JUnit, który umożliwia przeprowadzanie testów JUnit3 lub JUnit4. Możesz jednak użyć dowolnego innego programu uruchamiającego JUnit.

Testy budowlane

Dobrym przykładem użycia make do kompilowania i przeprowadzania dużej liczby testów jednostkowych jest plik j2objc/jre_emul/tests.mk w kodzie źródłowym projektu.