Як встановити / використовувати JUnit?


9

Я встановив 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? Чи є кращий коротший спосіб його використання, ніж команда long java org.junit.runner.JUnitCore TestBasicLinkedList.java? Можливо, щось подібне, junit *.Tests.javaможливо?

Відповіді:


11

Загалом, JUnit (як і будь-яка бібліотека Java) повинен бути на вашому класі. Я не знаю, де саме Ubuntu зберігає junitX.jar, але ви, мабуть, хочете щось подібне:

java -cp .:/usr/share/java/junit4-4.10.jar TestBasicLinkedList

Вам потрібно буде скомпілювати TestBasicLinkedListспочатку.


2
/usr/share/java/junit.jarпосилання на останню версію junit3, а /usr/share/java/junit4.jarпосилання на останню версію junit4.
Даніель Куллманн

13

Щоб розпочати роботу, це основний тестовий випадок:

import junit.framework.TestCase;

public class TestBasicLinkedList extends TestCase {
  public void testTrue() {
    assertTrue(true);
  }
}

Тестовий клас повинен поширювати TestCase, а методи тестування повинні починатися з "test", не приймати жодних аргументів і повертати ніщо.

Для складання:

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).


Дякую .. java -cp /usr/share/java/junit.jar:. junit.textui.TestRunner TestBasicLinkedListпрацює для JUnit3. Це було корисно.
Jayesh

Прекрасне пояснення для забезпечення роботи основ! Thx a ton
Борис Даппен

1
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:

Просто скопіюйте його в один із каталогів вашого додатка.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.