miércoles, 13 de abril de 2011

Implementación de pruebas unitarias (Taller)

Taller: Semana 11
Implementación de las pruebas unitarias en código documentado y un reporte de los resultados de su ejecución


En la entrada de taller para esta semana tenemos que presentar código utilizando pruebas unitarias.

Para empezar, es necesario, como lo dije en mi entrada anterior activar el Target antes realizar el Build and Run.

Este es mi diagrama UML con la clase MenuTestCase, la cual contiene los metodos de test que implementados, se hereda de la libreria SenTestCase, y se agregan las librerías en este caso agregué la libreria Producto.h y Menu.h

Esta es la función a la cual le voy a hacer pruebas unitaria, esta agrega un producto a MiMenu, el cual es un NSMutableDictionary

 Ahora en mi código de test, lo que hice es crear un nuevo objeto, en este caso bebida, al igual que un nuevo menu, después con la función STAssertEquals, verifico que la función regrese un valor YES booleano.
En este caso, el UnitTestBundle me no muestra el mensaje, ya que efectivamente regresa el valor igual a lo que yo queria que verificara.
 En este otro caso, cambie el valor de disponibilidad en el objeto de bebida con un valor de 1, según mi código cuando esta en uno no se encuentra disponible al publico, por lo tanto regresa un valor booleano NO.
Ahora vemos que en el Build del UnitTestBundle, me muestra el mensaje que regresa NO.


 Para el caso de testRemove, creo igual dos objetos, uno que es el Menu y otro que es la Bebida, lo agrega al NSMutableDictionary y tenemos otro STAssertEquals el cual si regresa un YES, quiere decir que se eliminó exitosamente.
Y mi prueba no me mostró ningún error, solamente un warning.



Esto es lo que implementé de pruebas unitarias en mi proyecto, conforme valla agregando mas código, mas pruebas unitarias haré para crear un sistema mas robusto e ir verificando mi lógica.

Si tienen alguna duda o sugerencia, comenten por favor.


1 comentario: