精心设计的软件项目通常有许多单元测试来验证它们。对于 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,在
项目源代码。