26/07/2001
JUnit es una librería Java esencial para realizar pruebas unitarias. Las pruebas unitarias son cruciales para verificar que cada componente individual de tu software (generalmente una clase) funcione según lo esperado. Una prueba unitaria se enfoca en una 'clase bajo prueba'; por ejemplo, la clase ArrayIntListTestpodría estar probando la clase ArrayIntList.

A diferencia de otras librerías Java estándar, JUnit no se incluye por defecto pero se integra fácilmente con Eclipse. Si no usas Eclipse, puedes descargar JUnit gratuitamente desde http://junit.org . JUnit se distribuye como un archivo JAR, un archivo comprimido que contiene los archivos .class de Java.
Creando un Caso de Prueba JUnit en Eclipse
Para usar JUnit, debes crear un archivo .java separado en tu proyecto que probará una de tus clases existentes. En el explorador de paquetes (Package Explorer) en el lado izquierdo de la ventana de Eclipse, haz clic derecho en la clase que deseas probar y selecciona New → JUnit Test Case.
Se abrirá un cuadro de diálogo para ayudarte a crear tu caso de prueba. Asegúrate de que la opción superior esté configurada para usar JUnit 4, no JUnit Haz clic en Next.
Verás un conjunto de casillas de verificación para indicar qué métodos deseas probar. Eclipse te ayudará creando métodos de prueba tub' que puedes completar. (Siempre puedes agregar más manualmente más tarde.) Selecciona los métodos para probar y haz clic en Finish.
En este punto, Eclipse te preguntará si deseas que adjunte automáticamente la librería JUnit a tu proyecto. ¡Sí, quieres hacerlo! Selecciona " Perform the following action: Add JUnit 4 library to the build path " y presiona OK.
Si olvidas agregar JUnit a tu proyecto, puedes hacerlo manualmente más tarde haciendo clic en el menú superior Project, luego Properties, luego Java Build Path, luego haz clic en Add Library... y elige JUnit 4 de la lista.
Una vez hecho esto, deberías tener un nuevo archivo de caso de prueba JUnit. Te sugiero que cambies la segunda instrucción importen la parte superior para que diga lo siguiente:
import org.junit.; // en lugar de import org.junit.Test;Escribiendo Pruebas
Cada método de prueba unitaria en tu archivo de caso de prueba JUnit debe probar un aspecto particular y pequeño del comportamiento de la 'clase bajo prueba'. Por ejemplo, un ArrayIntListTestpodría tener un método de prueba para ver si los elementos se pueden agregar a la lista y luego recuperarlos. Otra prueba podría verificar que el tamaño de la lista sea correcto después de varias manipulaciones. Y así sucesivamente. Cada método de prueba debe ser corto y debe probar solo un aspecto específico de la clase bajo prueba.
Los métodos de prueba JUnit utilizan aserciones, que son instrucciones que verifican si una condición dada es verdadera o falsa. Si la condición es falsa, el método de prueba falla. Si todas las condiciones de las aserciones en el método de prueba son verdaderas, el método de prueba pasa. Usas aserciones para indicar cosas que esperas que siempre sean verdaderas, como assertEquals(3, list.size());si esperas que la lista de matrices contenga exactamente 3 elementos en ese punto del código.
JUnit proporciona los siguientes métodos de aserción:
| Nombre del método | Parámetros | Descripción |
|---|---|---|
assertTrue(test) | boolean test | Provoca que este método de prueba falle si la prueba booleana dada no es verdadera. |
assertTrue("message", test) | String message, boolean test | Igual que el anterior, pero incluye un mensaje personalizado. |
assertFalse(test) | boolean test | Provoca que este método de prueba falle si la prueba booleana dada no es falsa. |
assertFalse("message", test) | String message, boolean test | Igual que el anterior, pero incluye un mensaje personalizado. |
assertEquals(expectedValue, value) | Object expectedValue, Object value | Provoca que este método de prueba falle si los dos valores dados no son iguales entre sí. (Para los objetos, utiliza el método equals para compararlos.) |
assertEquals("message", expectedValue, value) | String message, Object expectedValue, Object value | Igual que el anterior, pero incluye un mensaje personalizado. |
assertNotEquals(value1, value2) | Object value1, Object value2 | Provoca que este método de prueba falle si los dos valores dados son iguales entre sí. (Para los objetos, utiliza el método equals para compararlos.) |
assertNotEquals("message", value1, value2) | String message, Object value1, Object value2 | Igual que el anterior, pero incluye un mensaje personalizado. |
assertNull(value) | Object value | Provoca que este método de prueba falle si el valor dado no es nulo. |
assertNull("message", value) | String message, Object value | Igual que el anterior, pero incluye un mensaje personalizado. |
assertNotNull(value) | Object value | Provoca que este método de prueba falle si el valor dado es nulo. |
assertNotNull("message", value) | String message, Object value | Igual que el anterior, pero incluye un mensaje personalizado. |
assertSame(expectedValue, value) | Object expectedValue, Object value | Idéntico a assertEquals , excepto que para los objetos, usa el operador == en lugar del método equals para compararlos. |
assertSame("message", expectedValue, value) | String message, Object expectedValue, Object value | Igual que el anterior, pero incluye un mensaje personalizado. |
assertNotSame(value1, value2) | Object value1, Object value2 | Idéntico a assertNotEquals , excepto que para los objetos, usa el operador == en lugar del método equals para compararlos. |
assertNotSame("message", value1, value2) | String message, Object value1, Object value2 | Igual que el anterior, pero incluye un mensaje personalizado. |
fail() | Provoca que este método de prueba falle. | |
fail("message") | String message | Provoca que este método de prueba falle con un mensaje personalizado. |
Aquí tienes un ejemplo rápido que usa varios de estos métodos de aserción:
ArrayIntList list = new ArrayIntList();list.add(42);list.add(-3);list.add(17);list.add(99);assertEquals(4, list.size());assertEquals(17, list.get(2));assertTrue(list.contains(-3));assertFalse(list.isEmpty());Observa que cuando se utilizan comparaciones como assertEquals, los valores esperados se escriben como el argumento izquierdo (primero), y las llamadas reales a la lista deben escribirse a la derecha (segundo argumento). Esto es para que, si una prueba falla, JUnit proporcione el mensaje de error correcto, como "expected 4 but found 0".
Un método de prueba bien escrito elige el método de aserción más apropiado para cada verificación. El uso del método de aserción más apropiado ayuda a JUnit a proporcionar mejores mensajes de error cuando falla un caso de prueba.
Ejecutando tu Caso de Prueba
Una vez que hayas escrito uno o dos métodos de prueba, ejecuta tu caso de prueba JUnit. Hay dos maneras de hacerlo. Una forma es hacer clic en el botón Run en la barra de herramientas superior (se parece a un símbolo de "Play" verde). Aparecerá un menú; elige ejecutar la clase como una JUnit Test.
La otra forma es hacer clic derecho en tu clase de caso de prueba JUnit y elegir Run As → JUnit Test.
Aparecerá un nuevo panel que muestra los resultados de la prueba para cada método. Deberías ver una barra verde si todas las pruebas pasaron, o una barra roja si alguna de las pruebas falló. Si alguna prueba falla, puedes ver los detalles del fallo haciendo clic en el nombre/icono de la prueba fallida y mirando los detalles en el panel inferior.
La mayoría de la gente piensa que obtener una barra de fallo roja es malo. ¡No lo es! Es bueno; significa que has encontrado un error potencial que debe corregirse. Encontrar y corregir errores es algo bueno. Hacer que una barra roja se convierta en una barra verde (corrigiendo el código y luego volviendo a ejecutar el programa de prueba) puede ser muy gratificante.
JUnit en otros editores
Otros editores de Java también admiten JUnit, pero eso está fuera del alcance de este documento. JUnit también se puede ejecutar como un programa independiente de cualquier editor a través de su archivo JAR descargable. Eso también está fuera del alcance de este documento (y no se recomienda para nuestro curso), pero puedes encontrar instrucciones para hacerlo en el siguiente tutorial: [enlace al tutorial].
Consultas habituales:
- Cómo agregar JUnit a un proyecto Java en Eclipse
- Importar JUnit 5 en Eclipse
- Utilizar el complemento de herramientas JUnit en Eclipse
Este artículo proporciona una información y detallada sobre cómo agregar y utilizar JUnit en Eclipse, incluyendo la creación de casos de prueba, la escritura de pruebas efectivas y la ejecución de las mismas. Recuerda que las pruebas unitarias son una parte fundamental del desarrollo de software, ayudando a asegurar la calidad y la estabilidad de tu código.
Si quieres conocer otros artículos parecidos a Cómo agregar la librería junit en eclipse puedes visitar la categoría Libros y Librerías.
