Come installare / utilizzare JUnit?


9

Ho installato JUnit sul mio Ubuntu 11.04

sudo apt-get install junit

Quindi creato un file di prova come:

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

Quindi ho provato a correre nel terminale

java org.junit.runner.JUnitCore TestBasicLinkedList.java

Avuto:

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.

Come uso JUnit? Esiste un modo migliore e più breve di usarlo rispetto al comando lungo java org.junit.runner.JUnitCore TestBasicLinkedList.java? Forse qualcosa del genere junit *.Tests.javaforse?

Risposte:


11

In generale, JUnit (proprio come qualsiasi libreria Java) deve essere sul tuo percorso di classe. Non so dove esattamente Ubuntu memorizzi junitX.jar, ma probabilmente vuoi qualcosa del genere:

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

Dovrai compilare TestBasicLinkedListprima.


2
/usr/share/java/junit.jarsi collega all'ultima versione di junit3, mentre si /usr/share/java/junit4.jarcollega all'ultima versione di junit4.
daniel kullmann l'

13

Per iniziare, questo è un caso di prova di base:

import junit.framework.TestCase;

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

La classe test dovrebbe estendere TestCase e i metodi di test dovrebbero iniziare con "test", non accettare argomenti e restituire void.

Compilare:

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

Correre:

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

Questo è per JUnit 4; JUnit 3 utilizza diverse classi per l'esecuzione dei test (provare junit.textui.TestRunner).


Grazie .. java -cp /usr/share/java/junit.jar:. junit.textui.TestRunner TestBasicLinkedListfunziona per JUnit3. Questo è stato utile.
Jayesh,

Grande spiegazione per garantire che le basi siano in esecuzione! Thx una tonnellata
Boris Däppen

1
sudo apt-get install junit4
  • /usr/share/java/junit4.jar è un collegamento simbolico all'ultima versione di junit4.
  • /usr/share/java/junit.jar è un collegamento simbolico all'ultima versione di junit3.

Se l'applicazione richiede di impostare $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

Se l'applicazione lo richiede per averlo nel tuo $CLASSPATH:

Basta copiarlo in una delle directory del percorso di classe dell'applicazione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.