Pruebas unitarias JUnit en Eclipse/JBoss Developer Studio. JUnit tutorial.
Te presento el poderoso JUnit, para refrescarte un poco la mente te doy un breve concepto del mismo, JUnit es un framework que sirve para hacer pruebas unitarias de nuestras clases, te darás cuenta de que cuando estás haciendo un proyecto, para probar un método de una determinada clase tienes que llamarlo desde el aplicativo o desde otro método y después ver si el resultado que devuelve es el esperado, bueno aquí nace JUnit el cual nos ayuda a ahorrar muchísimo tiempo al implementar una "clase prueba" para nuestras pruebas unitarias. Dicho esto te comento que este pequeño tutorial está hecho con JUnit 4 y el JBoss Developer Studio que básicamente es lo mismo que eclipse, no te asustes si estas utilizando otro IDE, en casi todos los IDE's se trabaja de la misma manera y con este tuto podrías fácilmente aprender a utilizarlo en tu IDE, no tienes que instalar nada nuevo casi todas las últimas versiones de los IDE's traen el plugin de JUnit listo para usar. Comenzando desde 0 te pondre varios ejemplos, algunos nos daran problemas y otros no.
DatojavaJUnit
en esta clase vamos hacer unos métodos simples de suma y resta solo para hacer la primera prueba de JUnit. Aparte creamos otro paquete en el cual van a ir las clases de pruebas unitarias llamado datojavaTest (esto es una buena práctica de programación para JUnit).
DatojavaJUnit.class
package datojava; public class DatojavaJUnit { public int sumar(int num1, int num2) { int resultado = num1 + num2; return resultado; } public int restar(int num1, int num2) { int resultado = num1 - num2; return resultado; } }
DatojavaJUnit
llamada DatojavaJUnitTest
que contiene este código:
DatojavaJUnitTest.class
package datojavaTest; import static org.junit.Assert.*; import org.junit.Test; public class DatojavaJUnitTest { @Test public void testSumar() { fail("Not yet implemented"); } @Test public void testRestar() { fail("Not yet implemented"); } }
testSumar()
vamos a llamar al método sumar()
y vamos a ver si devuelve el resultado esperado, esto lo hacemos con un assertEquals()
, lo que quiere decir esto es que vamos a comparar el resultado devuelto por el método sumar()
con un valor que nosotros creemos que debería devolver, de ser cierto la prueba pasara sin ningún problema sino dará error y nos daremos cuenta que el método no funciona como esperamos, por ejemplo, en los métodos vamos a crear estos assertEquals()
DatojavaJUnitTest.class
DatojavaJUnit datojavaJUnit = new DatojavaJUnit(); @Test public void testSumar() { assertEquals(datojavaJUnit.sumar(3, 8), 11); } @Test public void testRestar() { assertEquals(datojavaJUnit.restar(5, 4), 1); }
restar()
ponemos esto
@Test public void testRestar() { assertEquals(datojavaJUnit.restar(5, 4), 2); // 5 - 4 = 1, eso quiere decir que la prueba debería fallar porque estamos poniendo de // resultado esperado 2 cuando no es correcto }Al ejecutar la prueba esto es lo que sucede
Datasource
, ahora la pregunta es, Que pasa cuando estamos tratando de hacer una prueba unitaria de un método que directa o indirectamente hace una consulta a la base de datos?? Se supone que cargamos los Datasources
de nuestro aplicativo al arrancar nuestro JBoss pero en este ejemplo estamos haciendo pruebas unitarias de nuestras clases.
1) Hay que cargar el
Datasource
del JNDI al InitialContext
así.2) Importar las librerías correspondientes para evitar los errores de java.lang.ClassNotFoundException y los de java.lang.NoClassDefFoundError
No hay comentarios :
Publicar un comentario