¿Cómo instalar / usar JUnit?


9

He instalado JUnit en mi Ubuntu 11.04

sudo apt-get install junit

Luego creó un archivo de prueba como:

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

Luego intenté correr en la terminal

java org.junit.runner.JUnitCore TestBasicLinkedList.java

Tiene:

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.

¿Cómo uso JUnit? ¿Hay una mejor manera más corta de usarlo que el comando largo java org.junit.runner.JUnitCore TestBasicLinkedList.java? Tal vez algo como junit *.Tests.javatal vez?

Respuestas:


11

En general, JUnit (al igual que cualquier biblioteca de Java) debe estar en su classpath. No sé exactamente dónde almacena Ubuntu junitX.jar, pero probablemente quieras algo como esto:

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

Tendrás que compilar TestBasicLinkedListprimero.


2
/usr/share/java/junit.jarenlaces a la última versión de junit3, mientras que /usr/share/java/junit4.jarenlaces a la última versión de junit4.
daniel kullmann

13

Para ponerlo en funcionamiento, este es un caso de prueba básico:

import junit.framework.TestCase;

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

La clase de prueba debe extender TestCase, y los métodos de prueba deben comenzar con "prueba", no aceptar argumentos y devolver nulo.

Compilar:

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

Correr:

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

Esto es para JUnit 4; JUnit 3 utiliza diferentes clases para ejecutar pruebas (pruebe junit.textui.TestRunner).


Gracias ... java -cp /usr/share/java/junit.jar:. junit.textui.TestRunner TestBasicLinkedListfunciona para JUnit3. Esto fue útil.
Jayesh

¡Gran explicación para garantizar que se ejecutan los conceptos básicos! Thx a ton
Boris Däppen

1
sudo apt-get install junit4
  • /usr/share/java/junit4.jar es un enlace simbólico a la última versión de junit4.
  • /usr/share/java/junit.jar es un enlace simbólico a la última versión de junit3.

Si su aplicación requiere que configure $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 su aplicación requiere que lo tenga en su $CLASSPATH:

Simplemente cópielo en uno de los directorios de classpath de su aplicación.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.