Zainstalowałem JUnit na moim Ubuntu 11.04
sudo apt-get install junit
Następnie utworzył plik testowy, taki jak:
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));
}
}
Następnie próbował uruchomić się w terminalu
java org.junit.runner.JUnitCore TestBasicLinkedList.java
Dostał:
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.
Jak korzystać z JUnit? Czy istnieje lepszy, krótszy sposób korzystania z niego niż długie polecenie java org.junit.runner.JUnitCore TestBasicLinkedList.java
? Może coś takiego junit *.Tests.java
?
/usr/share/java/junit.jar
linki do najnowszej wersji junit3, a/usr/share/java/junit4.jar
linki do najnowszej wersji junit4.Aby rozpocząć pracę, jest to podstawowy przypadek testowy:
Klasa testowa powinna rozszerzyć TestCase, a metody testowe powinny zaczynać się od „test”, nie przyjmować żadnych argumentów i zwracać wartość void.
Kompilować:
Biegać:
To dotyczy JUnit 4; JUnit 3 używa różnych klas do wykonywania testów (spróbuj junit.textui.TestRunner).
źródło
java -cp /usr/share/java/junit.jar:. junit.textui.TestRunner TestBasicLinkedList
działa dla JUnit3. To było pomocne./usr/share/java/junit4.jar
jest dowiązaniem symbolicznym do najnowszej wersji junit4./usr/share/java/junit.jar
jest dowiązaniem symbolicznym do najnowszej wersji junit3.Jeśli aplikacja wymaga ustawienia
$JUNIT_HOME
:Jeśli aplikacja wymaga, aby mieć go w
$CLASSPATH
:Po prostu skopiuj go do jednego z katalogów ścieżki aplikacji.
źródło