Comment installer / utiliser JUnit?


9

J'ai installé JUnit sur mon Ubuntu 11.04

sudo apt-get install junit

Ensuite, créé un fichier de test comme:

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));
  }
}

Ensuite, j'ai essayé de courir dans le terminal

java org.junit.runner.JUnitCore TestBasicLinkedList.java

Eu:

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.

Comment utiliser JUnit? Existe-t-il un meilleur moyen plus court de l'utiliser que la commande longue java org.junit.runner.JUnitCore TestBasicLinkedList.java? Peut-être quelque chose comme junit *.Tests.javapeut-être?

Réponses:


11

En général, JUnit (comme toute bibliothèque Java) doit être sur votre chemin de classe. Je ne sais pas exactement où Ubuntu stocke junitX.jar, mais vous voulez probablement quelque chose comme ça:

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

Vous devrez d' TestBasicLinkedListabord compiler .


2
/usr/share/java/junit.jardes liens vers la dernière version de junit3, tandis que des /usr/share/java/junit4.jarliens vers la dernière version de junit4.
daniel kullmann

13

Pour vous permettre d'être opérationnel, voici un scénario de test de base:

import junit.framework.TestCase;

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

La classe de test doit étendre TestCase et les méthodes de test doivent commencer par "test", n'accepter aucun argument et renvoyer void.

Compiler:

javac -cp /usr/share/java/junit4.jar TestBasicLinkedList.java

Courir:

java -cp /usr/share/java/junit4.jar:. org.junit.runner.JUnitCore TestBasicLinkedList

C'est pour JUnit 4; JUnit 3 utilise différentes classes pour exécuter des tests (essayez junit.textui.TestRunner).


Merci .. java -cp /usr/share/java/junit.jar:. junit.textui.TestRunner TestBasicLinkedListfonctionne pour JUnit3. C'était utile.
Jayesh

Excellente explication pour s'assurer que les bases fonctionnent! Thx a ton
Boris Däppen

1
sudo apt-get install junit4
  • /usr/share/java/junit4.jar est un lien symbolique vers la dernière version de junit4.
  • /usr/share/java/junit.jar est un lien symbolique vers la dernière version de junit3.

Si votre application nécessite que vous définissiez $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

Si votre application l'exige pour l'avoir dans votre $CLASSPATH:

Copiez-le simplement dans l'un des répertoires de chemin de classe de votre application.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.