转换 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,在 项目源代码。