Paso 1. Escribo mi programa.
Uso de ejemplo un programa que recibe un lista (array) de números enteros y me regresa el mayor de ellos.
public class Largest {
public static int largest(int[] list) {
int index, max = Integer.MIN_VALUE;
if (list.length == 0){
throw new RuntimeException(«Empty list»);
}
for (index = 0; index
if (list[index] > max) {
max = list[index];
}
}
return max;
}
}
Paso 2. Escribo mi test de JUnit
Este es programa representa mis pruebas unitarias. Este va a encargarse de evaluar la clase que escribí anteriormente. Para ello me voy a valer de JUnit.
import junit.framework.*;
public class TestLargest extends TestCase {
public TestLargest(String name){
super(name);
}
public void testSimple(){
assertEquals(9, Largest.largest(new int[] {7,8,9}));
}
public void testOrder(){
assertEquals(9, Largest.largest(new int[] {9,8,7}));
assertEquals(9, Largest.largest(new int[] {7,9,8}));
assertEquals(9, Largest.largest(new int[] {7,8,9}));
}
public void testNegative() {
int [] negList = new int[] {-9, -8, -7};
assertEquals(-7, Largest.largest(negList));
}
public void testEmpty() {
try {
Largest.largest(new int[] {});
fail(«Should have thrown an exception»);
}catch (RuntimeException e) {
assertTrue(true);
}
}
}
Notar que:
- Se importan las clases de JUnit
- La clase debe extender de TestCase
- Se requiere del constructor que recibe un String e invoce al método super
- Todos los métodos que inician con test serán ejecutados automáticamente por JUnit
En nuestro ejemplo, cada método hace uso de la método assertEquals que recibe dos parámetros. El primer parámetro indica el valor esperado al ejecutar un método y el segundo el valor real que se obtuvo al ejecutar el método. Sin ambos son iguales la prueba ha sido correcta, si difieren se arrojará una excepción de JUnit indicando que no fue superada la prueba.
Para importar la biblioteca de JUnit en Eclipse hacer lo siguiente:
En el Package Explorer hacer clic derecho en nuestro proyecto (JUnitTest en mi ejemplo) para ver el menú y elegir la opción Properties (Propiedades).
En la ventana que se nos despliega elegir en el menú la opción Java Build Path y luego en esta elegir la pestaña Libraries. Una vez en ella hacemos clic en el botón Add Library…
Se nos abre otra ventana donde seleccionamos la biblioteca JUnit y damos clic en Next (Siguiente)
Se nos muestra otra pantalla donde elegimos la versión de Java, en mi ejemplo usé JUnit 3. Hacemos clic en Finish (Terminar).
¡Listo! En la pantalla de Properties (Propiedades) tenemos ahora desplegada la biblioteca de JUnit 3. Concluimos dando clic en OK.
Compilamos en proyecto.
Paso 3. Ejecuto el test
Estamos listos para correr las pruebas. Nos colocamos en el código de nuestra clase de pruebas TestLargest.java y damos clic derecho para ver el menú. Elegimos la opción Run As… y dentro de ella la opción JUnitTest.
Esto hará que se ejecuten todos los métodos que hemos definido en nuestra clase de test. Si todos los métodos han arrojado los resultados correctos, Eclipse nos muestra una pestaña con el nombre JUnit con los resultados indicando que las pruebas fueron correctas.
En caso de que alguno de los métodos arroje un error se lanza una excepción de JUnit y se nos indica en la pastaña con el nombre JUnit el resultado indicando el o los métodos que no pasaron las pruebas.
El ejemplo de código fue tomado del libro Pragmatic Unit Testing in Java with JUnit de Andrew Hunt y David Thomas







