設計良好的軟體專案通常會進行大量單元測試,以進行驗證。以 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
連結測試
使用libjunit.a
lib/
編譯器的 -l
標記:
${J2OBJC_HOME}/j2objcc -ObjC -o mytest -ljunit MyUnitTest.m
執行測試
使用一或多個測試和/或測試套件的名稱執行測試執行檔,例如 JUnit 測試
這個程式碼可以在 Java 中執行名稱可以是完整的 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,
以及專案原始碼