Eu instalei o JUnit no meu Ubuntu 11.04
sudo apt-get install junit
Em seguida, criou um arquivo de teste como:
import org.junit.*;
public class TestBasicLinkedList {
@Test public void testCanAdd(String[] args) {
BasicLinkedList<Integer> list = new BasicLinkedList();
list.add(new BasicListNode<Integer>(1));
assertTrue(list.size() == 1);
assertTrue(list.getFirst().getElement().equals(1));
}
}
Então tentei rodar no terminal
java org.junit.runner.JUnitCore TestBasicLinkedList.java
Obteve:
Exception in thread "main" java.lang.NoClassDefFoundError: org/junit/runner/JUnitCore
Caused by: java.lang.ClassNotFoundException: org.junit.runner.JUnitCore
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: org.junit.runner.JUnitCore. Program will exit.
Como uso o JUnit? Existe uma maneira melhor e mais curta de usá-lo do que o comando long java org.junit.runner.JUnitCore TestBasicLinkedList.java
? Talvez algo como junit *.Tests.java
talvez?
/usr/share/java/junit.jar
links para a versão mais recente do junit3, enquanto/usr/share/java/junit4.jar
links para a versão mais recente do junit4.Para colocar você em funcionamento, este é um caso de teste básico:
A classe de teste deve estender o TestCase e os métodos de teste devem começar com "test", não aceitar argumentos e retornar nulos.
Compilar:
Para correr:
Isto é para a JUnit 4; O JUnit 3 usa classes diferentes para executar testes (tente junit.textui.TestRunner).
fonte
java -cp /usr/share/java/junit.jar:. junit.textui.TestRunner TestBasicLinkedList
trabalha para JUnit3. Isso foi útil./usr/share/java/junit4.jar
é um link simbólico para a versão mais recente do junit4./usr/share/java/junit.jar
é um link simbólico para a versão mais recente do junit3.Se o seu aplicativo exigir que você defina
$JUNIT_HOME
:Se seu aplicativo exigir que ele esteja no seu
$CLASSPATH
:Basta copiá-lo em um dos diretórios do caminho de classe do seu aplicativo.
fonte