適切に設計されたソフトウェア プロジェクトでは、通常、検証のための単体テストを多数実施します。Java プロジェクトの場合 JUnit は最も一般的な単体テスト フレームワークです。J2ObjC は OS X でバイナリとして実行できるように、単体テストの変換をサポートします。これにより、 変換によって、変換されたクラスのセマンティクス(動作)は変更されず、 変換されたコードは Objective-C コードとして実行されます。
テストの変換
クラスパスに junit.jar
を指定して j2objc を実行します。この jar ファイルのコピーは、j2objc ファイル
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
リンクテスト
以下を使用して、J2ObjC ディストリビューションの lib/
ディレクトリにある libjunit.a
ライブラリとリンクします。
コンパイラの -l
フラグを指定します。
${J2OBJC_HOME}/j2objcc -ObjC -o mytest -ljunit MyUnitTest.m
テストの実行
JUnit テストのように、1 つ以上のテストやテストスイートの名前でテスト実行可能ファイルを実行します。
実行することもできます。名前には、Java の完全修飾名(パッケージ名あり)、または同等の名前を指定できます。
表示されます。たとえば、com.company.MyUnitTest
テストクラスは次のように指定することもできます。
ComCompanyMyUnitTest
。
./mytest org.junit.runner.JUnitCore com.company.MyUnitTest # or com.company.Test2
org.junit.runner.JUnitCore
は JUnit のテストランナーの一つで、JUnit3 または JUnit4 のいずれかを実行できます。
テストです。ただし、他の JUnit ランナーを使用できます。
テストのビルド
make
を使用して大規模な単体テストセットをビルドして実行する良い例は次のとおりです。
j2objc/jre_emul/tests.mk(
ソースコードを取得できます。