JUnit es un marco de trabajo para crear tests en proyectos Java.
Instalación
Si tenemos Eclipse, no es necesario instalarlo ya que está en su interior. En el caso de que no usemos un IDE debemos descargarlo de su página Web (https://github.com/junit-team/junit4/wiki/Download-and-Install).
Creación de nuevo proyecto
En Eclipse, vamos a New Project / Java Proyect. Le damos un nombre al nuevo proyecto y en la pantalla de “Java Settings” tenemos que informar de que vamos a usar la librería de tests JUnit. Hacemos click sobre la pestaña “Libraries” y sobre “Add Library…”. Seleccionamos “JUnit” y la versión “JUnit 4”.
Generación de clases Java
En primer lugar necesitamos código sobre el que lanzar los tests, así que creamos una pequeña clase con un método que devuelva una cadena de texto.
MyObject.java
package app; public class MyObject { public String myMethod() { return "myString"; } }
Generación de clase de tests JUnit
Ahora, creamos una nueva clase, pero esta vez no es de tipo “Class”, sino “JUnit Test Case”.
Anotado de métodos para test
JUnit 4 trae varias anotaciones para marcar los métodos que se ejecutarán al lanzar el test (que sirven para lanzar código antes o después de los tests o en primer y último lugar cuando el objeto test se instancie), pero aquí usaremos únicamente @Test, que sirve para marcar métodos como tests de JUnit4.
Creación del test
En esta clase de tests, creamos un método (con un nombre que sea autoexplicativo de lo que va a hacer) y usamos la instrucción “assertEquals” para comparar lo que devuelve nuestro método con lo que esperamos que devuelva.
Hay muchos tipos de Asserts, entre los que se encuentran “assertNotNull” o “AssertTrue”, que respectivamente comparan que el objeto testeado no sea nulo y que sea True.
MyObjectTest
package app; import static org.junit.Assert.*; import org.junit.Test; public class MyObjectTest { @Test public void testMyMethod() { MyObject myObject = new MyObject(); assertEquals(myObject.myMethod(), "myString"); } }
Ejecución del test
Para ejecutar una clase con tests, hacemos click derecho sobre el nombre de la clase en el explorador de paquetes y pulsamos sobre “Run As…/JUnit test”.
Se mostrará la pestaña JUnit con el resultado del test y una barra verde si ha tenido éxito, o una barra roja si ha fallado.
Repositorio
El código de esta demostración puede encontrarse en https://github.com/luisgomezcaballero/junit4-demo.
So, what do you think ?