Projetos de software bem projetados geralmente têm muitos testes de unidade para verificá-los. Para projetos Java, O JUnit (em inglês) é o framework de teste de unidade mais comum. O J2ObjC fornece suporte à tradução de testes de unidade para que possam ser executados como binários no OS X. Isso confirma se a tradução não mudou a semântica (comportamento) das classes traduzidas e verifica 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 no arquivo j2objc
distribuição, 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 o
flag -l
do compilador:
${J2OBJC_HOME}/j2objcc -ObjC -o mytest -ljunit MyUnitTest.m
Testes em execução
Execute o executável com os nomes de um ou mais testes e/ou pacotes de testes, como os testes JUnit
executados em Java. Os nomes podem ser o nome Java totalmente qualificado (com pacote) ou o nome
nome traduzido. 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 JUnit3 ou JUnit4.
provas. No entanto, qualquer outro executor JUnit pode ser usado.
Como criar testes
Um bom exemplo de como usar make
para criar e executar um grande conjunto de testes de unidade está em
j2objc/jre_emul/tests.mk, no
o código-fonte do projeto.