Testeando con jUnit4

2009 octubre 11
por rafadc

Al fin me he decidido a migrar los test del curro a jUnit4. Tampoco era para tanto. La verdad es que me apetecía bien poco reescribir código que funciona perfectamente pero al final, como suele pasar en estos casos, no era para tanto y nos proporciona algunas mejoras interesantes que nos podrán hacer la vida más fácil.

La diferencia más notable con jUnit3 es que los test ya no son clases que extienden de TestCase sino que sencillamente son clases que anotamos con @Test.

Como siempre vamos con un ejemplo. Supongamos que tenemos la siguiente clase.


package com.micubiculo;

public class MyAwesomeClass {
public static Integer add(Integer a, Integer b) {
return a+b;
}

}

Una clase compleja donde las haya pero nos apetece escribir un sencillo test. Tan solo tendremos que añadir a nuestro proyecto las librerías de jUnit 4 y escribir una clase de test. Podría ser tan sencilla como:


package com.micubiculo.test;

import junit.framework.Assert;
import org.junit.Test;
import com.micubiculo.MyAwesomeClass;

public class MyAwesomeClassTest {

@Test
public void testAdd() {
// Prepare test
Integer a = 5;
Integer b = 6;

// Run class to test
Integer c = MyAwesomeClass.add(a, b);

// Check state of the application
Assert.assertTrue(c == 11);

}

}

Y con esto ya tenemos nuestra sencilla clase de test con un simple test unitario. Podemos lanzarla desde linea de comandos con:


java org.junit.runner.JUnitCore com.micubiculo.test.MyAwesomeClassTest

O bien lanzarlo con nuestra IDE favorita ya que es habitual ver jUnit integrado con muchos entornos de desarrollo.

EclipseScreenSnapz001

¡Luz verde!

Poco a poco nos iremos adentrando en el mundo de los test unitarios y en el de jUnit en particular porque seguro que me dan para un montón de entradas en el blog.

No comments yet

Leave a Reply

Note: You can use basic XHTML in your comments. Your email address will never be published.

Subscribe to this comment feed via RSS

Switch to our mobile site