Projetos de software bem projetados geralmente têm muitos testes de unidade para verificação. Para projetos Java, o JUnit (em inglês) é o framework de teste de unidade mais comum. O J2ObjC oferece suporte para a tradução de testes de unidade, para que eles possam ser executados como binários no OS X. Isso verifica se a tradução não mudou a semântica (comportamento) das classes traduzidas e se o código traduzido é executado como código Objective-C.
Como traduzir testes
Execute j2objc com um junit.jar
no caminho de classe. Uma cópia desse arquivo jar está incluída na distribuição j2objc, chamada 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
Testes de vinculação
Vincule a biblioteca libjunit.a
no diretório lib/
da distribuição J2ObjC usando a
flag -l
do compilador:
${J2OBJC_HOME}/j2objcc -ObjC -o mytest -ljunit MyUnitTest.m
Como executar testes
Execute o executável do teste com os nomes de um ou mais testes e/ou conjuntos de testes, como os testes do JUnit são
executados em Java. Os nomes podem ser o nome Java totalmente qualificado (com pacote) ou o nome traduzido
equivalente. Por exemplo, a classe de teste com.company.MyUnitTest
também pode ser especificada como
ComCompanyMyUnitTest
.
./mytest org.junit.runner.JUnitCore com.company.MyUnitTest # or com.company.Test2
org.junit.runner.JUnitCore
é um dos executores de testes do JUnit, que podem executar testes
JUnit3 ou JUnit4. No entanto, qualquer outro executor do JUnit pode ser usado.
Como criar testes
Um bom exemplo de como usar o make
para criar e executar um grande conjunto de testes de unidade está em
j2objc/jre_emul/tests.mk, no
código-fonte do projeto.