Hace un tiempo en un webcast de la comunidad ágil de Venezuela mencioné la importancia de que todo programador sea responsable de escribir las pruebas unitarias de su código, lo cual es absolutamente independiente del lenguaje de programación utilizado ya que para hacer pruebas no es necesario contar con ninguna herramienta particular. Ante esta afirmación una persona de la audiencia consulto ¿afirmas que es posible escribir pruebas unitarias sin usar un framework de pruebas unitarias? La respuesta es si. Veamos un ejemplo.
Básicamente una prueba unitaria consta de 3 pasos conocidos como las 3A.
- Arrange: es la preparación de todo lo necesario para realizar la prueba
- Act: es la ejecutación de la prueba
- Assert: es verificación de que el resultado obtenido es acorde a lo esperado
De estos tres pasos el único que depende del framework de pruebas unitarias es el assert. Generalmente el framework de pruebas unitarias provee uno o varios métodos del tipo assertXXXX que verifican el valor de verdad de una expresión y en base a ello arrojan un resultado.
Esta funcionalidad del assert de framework de pruebas unitarias bien podría ser reemplazada por una función similar a la siguiente
public void verificar(boolean expresion){
if(!expresion)
throw new RuntimeException();
}
Vemos cómo podríamos utilizar esta función para hacer un prueba de la clase ArrayList.
public void deberiaCrearseVacio(){
// arrange & act
ArrayList array = new ArrayList();
// assert
verificar(array.size()==0);
}
Para aquellos interesados en profundizar, aquí les dejo un ejemplo completo en Java que muestra como codificar y ejecutar las pruebas.
Deja un comentario