Я установил JUnit на свой Ubuntu 11.04
sudo apt-get install junit
Затем создал тестовый файл, например:
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));
}
}
Затем попытался запустить в терминале
java org.junit.runner.JUnitCore TestBasicLinkedList.java
Получил:
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.
Как мне использовать JUnit? Есть ли лучший способ его использования, чем длинная команда java org.junit.runner.JUnitCore TestBasicLinkedList.java
? Возможно, что-то вроде junit *.Tests.java
, может быть?
В общем, JUnit (как и любая библиотека Java) должен быть на вашем пути к классам. Я не знаю, где именно Ubuntu хранит junitX.jar, но вы, вероятно, хотите что-то вроде этого:
java -cp .:/usr/share/java/junit4-4.10.jar TestBasicLinkedList
Сначала вам нужно скомпилировать TestBasicLinkedList
.
Чтобы начать работу, это основной тестовый пример:
import junit.framework.TestCase;
public class TestBasicLinkedList extends TestCase {
public void testTrue() {
assertTrue(true);
}
}
Тестовый класс должен расширять TestCase, а методы тестирования должны начинаться с «test», не принимать аргументов и возвращать void.
Для компиляции:
javac -cp /usr/share/java/junit4.jar TestBasicLinkedList.java
Для запуска:
java -cp /usr/share/java/junit4.jar:. org.junit.runner.JUnitCore TestBasicLinkedList
Это для JUnit 4; JUnit 3 использует разные классы для выполнения тестов (попробуйте junit.textui.TestRunner).
sudo apt-get install junit4
/usr/share/java/junit4.jar
- символическая ссылка на последнюю версию junit4. /usr/share/java/junit.jar
- символическая ссылка на последнюю версию junit3. Если ваше приложение требует, чтобы вы установили $JUNIT_HOME
:
mkdir ~/junit
ln -s /usr/share/java/junit4.jar ~/junit
ln -s /usr/share/java/hamcrest-core.jar ~/junit
export JUNIT_HOME=~/junit
Если ваше приложение требует, чтобы оно было в вашем $CLASSPATH
:
Просто скопируйте его в один из каталогов пути вашего приложения.