3. Pruebas Unitarias y Funcionales:
Se utiliza en la metodología TDD o desarrollo
basado en pruebas (del inglés test-driven
development) . Que considera la creación de las
pruebas antes del desarrollo del código de la
aplicación.
Rodrigo Miranda
Blog: www.rodrigomiranda.cl
5. Pruebas Unitarias:
Se encargan de analizar que un único componente
de la aplicación (función o método) devuelva
resultados correcto de acuerdo a ciertas entradas.
Se encargan de un único caso cada vez, lo que
significa que un único método o función puede
necesitar varias pruebas unitarias.
Rodrigo Miranda
Blog: www.rodrigomiranda.cl
6. Desarrollo basado en Pruebas o TDD:
1. En primer lugar se piensa en todo los casos de
funcionamiento del método.
2. Elaboración de una serie de entradas.
3. Elaboración de las salidas de acuerdo a las
entradas anteriores.
Rodrigo Miranda
Blog: www.rodrigomiranda.cl
7. Función o Método:
Si constamos con un método que tiene como
función eliminar carácteres problemáticos, y
deseamos evaluarla a través de pruebas unitarias
deberías realizar lo siguiente.
Rodrigo Miranda
Blog: www.rodrigomiranda.cl
8. Después de la tabla entrada y resultados:
1. Se crearían las pruebas unitarias, se ejecutarían y
todas fallarían.
2. Después se escribe el código en la aplicación para
realizar correctamente el primer caso y se vuelven
a pasar todas las pruebas, ésta vez no fallaría la
primera pero si la segunda. Así se seguiría
desarrollando el código del método completo.
Rodrigo Miranda
Blog: www.rodrigomiranda.cl
10. Pruebas Unitarias:
Los archivos que contienen las pruebas unitarias
son php normales cuyo nombre termina en
Test.php. Se encuentran ubicados en el directorio
test/unit/ del proyecto.
Rodrigo Miranda
Blog: www.rodrigomiranda.cl
11. Pruebas Unitarias:
Las primeras dos líneas de los archivos de prueba
Unitaria son:
Rodrigo Miranda
Blog: www.rodrigomiranda.cl
12. Si no se cumpliera con el total de prueba
especificado en el primer parámetro de la llamada
lime_test, ejemplo:
new lime_test(16, new lime_output_color());
El aviso desplegado por el sistema sería parecido a lo
sgte:
Rodrigo Miranda
Blog: www.rodrigomiranda.cl
13. Métodos disponibles:
Después de instanciar la clase lime_test tenemos a
disposición los siguientes métodos.
Rodrigo Miranda
Blog: www.rodrigomiranda.cl
25. Carga automá?ca de Clases:
Hemos visto hasta ahora que los script php para
pruebas unitarias incluye al comienzo llamadas a
archivos con include o require, esto se debe porque
la carga automática de clases no funciona.
Si es necesario incluir una gran cantidad de archivos
alojados dentro de un directorio, quizás desees
utilizar la clase sfSimpleAutoload en vez de
incluirlos uno por uno.
Rodrigo Miranda
Blog: www.rodrigomiranda.cl
28. Pruebas Unitarias de las clases de Propel:
Dado que las clases Propel dependen de muchas
clases más, es necesario la carga automática de
clases, la misma que utiliza nuestro proyecto
symfony.
Además, para este tipo de pruebas es necesario una
conexión válida a la base de datos e incluir algunos
datos de prueba a ella (archivos data/fixtures)
Rodrigo Miranda
Blog: www.rodrigomiranda.cl
29. Pasos necesarios para Pruebas Unitarias Propel:
• Obtener la carga automática, inicializando objeto de
configuración.
• Obtener la conexión a la base de datos, inicializa la
clase sfDatabaseManager.
• Cargar datos de prueba con la clase sfPropelData.
Rodrigo Miranda
Blog: www.rodrigomiranda.cl