JUnit
JUnit, es una herramienta proporcionada por java para la prueba de bloques de código, mas convencionalmente de procedimientos, comprobando los resultados obtenidos, con los datos esperados. Toda esta clase de pruebas pueden realizarse de manera manual, simplemente insertando salidas de sistema con el System.out.println(), he indicando que variable o que secuencia pasa o no pasa por cierto lugar, para eso junit ha sido creado para este fin.
Assert
Es una herramienta que sirve para hacer comprobaciones de resultados, este es proporcionado por la clase junit.framework.Assert, proporciona una serie de métodos que son los encargados de hacer dichas comprobaciones. Esta clase posee una serie de métodos con el nombre de assert. Los métodos son los siguientes:
- AssertEquals: indica si dos objetos son iguales
- AssertNull: indica si un objeto es nulo
- AssertNotNull: que indica que un objeto no es nulo
- AssertSame: que indica si dos variables apuntan a un mismo objeto
- AssertTrue: indica si el método devuelve un true
- AssertFalse: indica si el método devuelve un false
Entre otros….
Cada uno de estos métodos assert es considerada como un test. La lógica de estos métodos es muy simple, si la condición del método assert se cumple el test es válido, de lo contrario el test no es valido y lanza un FailedAssertionError, lo que significa que existe un error en el test.
Cuando se utilizan bloques de excepciones try-catch, se debe tener cuidado, ya que esta clase de bloque normalmente captura las excepciones que el código lanza y es este quien lanza la anomalía que se tiene y no los bloques assert que indicamos en nuestras pruebas, por lo que para testear esta clase de bloques, debe utilizarse el método fail() o fail(String mensaje), que muestra un FailedAssertionError e informe de esta manera el resultado del test.
TestCase
La clase abstracta junit.framework.TestCase es la base sobre la cual se definen todas las clases de tests. Esta clase se extiende de junit.framework.Assert
Para crear una unidad de testeo se realizan los siguientes pasos:
- Se crea una nueva clase en netbeans

Crea un nuevo Proyecto de NetBeans
- Se crean las clases a testeas y los métodos para cada una de estas clases

Se crean las clases a ser Testeadas
- Se crea una nueva unidad de testeo para cualquier clase de las que se han creado, mediante clic derecho sobre una clase, luego en tolos y por ultimo en la opción de Create Unit Test

Se crea la nueva Unidad de Testeo
- El paso anterior genera una nueva clase en el directorio de test del proyecto

Se genera el siguiente codigo segun la Clase implementada
- Al revisar el fichero que se acaba de crear se puede verificar que existen todas los métodos que se incluyeron en el archivo original pero con la terminación Test en la cual se generan los assert y los fail correspondientes

Se genera codigo para realizar los Testeos
Ya con esto, debe notarse que la ejecución de un test puede terminar de cuatro formas:
- Con la validación correcta de los assert. Lo que se espera
- Mostrando uno o varios FailedAssertionError con su información asociada. Esto ocurre si el assert no ha sido valido, esto significa que la ejecución del código no ha devuelto el resultado esperado.
- Mostrando cualquier Excepcion de Java. Esto no es provocado por la validación de los métodos assert, sino que indica algún error de implementación, puede ser por el propio TestCase o por el mismo código.
- Y por último, puede ser una mezcla de excepciones de java y de FailedAssertionErrors
setUp() y tearDown()
Se debe indicar también que la secuencia de ejecución de una clase la cual herede atributos de una clase TestCase es la siguiente:
- setUp()
- test<Nombre>()
- tearDown()
Esto se repite para todos los métodos test que contenga la clase
Estos métodos se utilizan de la siguiente manera:
- El método setUp(), se utiliza para inicializar variables, crear conexiones a bases de datos, etc.
- El método tearDown(), en cambio se utiliza para liberar recursos tales como las indicadas anteriormente.

Se crea el respectivo codigo para el setUp() y tearDown()
TestSuite
Muchas veces cuando se necesita tener varios test estruturados en varias clases TestCase e interesa ejecutarlos todos al mismo tiempo se utiliza un testSuite.
Para crear dicha colección se realizan los siguientes pasos:
- Se da un clic derecho en el nodo del proyecto y se escoge en nuevo y en Otros para abrir el asistente para la creación de un nuevo documento

Se escoge entre los documentos nuevos el de TestSuite
- Se selecciona la categoría JUnit y el objeto Test Suite

Se escoge la opcion de TestSuite
- Se le asigna un nombre y se le indica en que paquete se desea guardar

Se indica el nombre del TestSuite
- Se quita la selección de Test Initializer y Test Finalizer y se da en finalizar

Se verifican las opciones de creacion
Finalmente para ejecutarlo, en la clase que se acaba de crear se añaden las siguientes líneas:

- Se añaden las siguientes lineas
Con lo que muestra el siguiente resultado:

Muestra el resultado de los testeos
El cual indica si el procedimiento paso la prueba o no















