翻譯 JUnit 測試

設計良好的軟體專案通常會進行大量單元測試,以進行驗證。以 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.alib/ 編譯器的 -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, 以及專案原始碼