tdd en java script
TRANSCRIPT
carlos.uscamayta [email protected]
m @carlosUscamayta
Carla Lorena Villena Rivera.
Team Development Member
INNOVISION S.A.
Carlos Álvaro Uscamayta.
Team Development Member
INNOVISION S.A. uagrm_carla_villena
[email protected] @villena_carla
Necesito un Sistema para mi almacén.
1° Análisis 2° Test 3° Código
Reutilizar código (copy / paste),
seguir haciendo código.
Adrian Pablo
Iván
Necesito nuevas caracterizas para
el Sistema .
1° Análisis 2° Test, 3° Código
Reutilizar código, seguir
haciendo código.
Lo que veremos
¿Que es TDD ?Los pilares de TDD¿Qué son test unitarios?Algoritmo de TDDAAAHerramientas TDDJasmineHacer prueba!Jasmine MatchersJasmine jQuery
PILARES DE TDD
La implementación de las funciones justas que el cliente necesita y no más.
La minimización del número de defectos que llegan al software en fase de producción.
La producción de software modular, altamente reutilizable y preparado para el cambio.
UNIT TEST
Las pruebas unitarias son una de las formas que tenemos de
probar pequeñas e individuales porciones de código.
ESCRIBE UNA PRUEBA QUE
FALLE.
TRATA DE ROMPER LA
PRUEBA.
ESCRIBE EL MÍNIMO CÓDIGO
PARA HACER PASAR LA PRUEBA.
ALGORITMO DE
TDD
Setup Jasmine
Download Jasmine
Descomprimirlo en una carpeta en su proyecto
Agregar los archivos de origen para Index.html
Crear archivos de especificaciones (Spec) y añadirlos a Index.html
Abrir SpecRunner.html en un navegador.
Historia de usuario
• Como usuario del sistema necesito un sistema que me permita crear una lista de tareas las cuales pueda crear eliminar y dar por completada una vez que las haya realizado.
Jasmine MatcherstoBe( 'expected' ) toEqual( 'expected' )
toBeUndefined( ) toBeDefined( )
toMatch( /regex/ ) toBeNull( /regex/ )
toBeTruthy( ) toBeFalsy( )
toBeLessThan( number ) toBeGreaterThan( number )
toContain( item ) expect( function(){ fn(); }).toThrow( e )
No (not)Cualquier matcher puede ser "revertida" mediante la inclusión de la no (not) palabra clave.
Jasmine jQuery
• Jasmine jQuery es un conjunto de matchers y funciones que le ayudarán a comprobar los elementos DOM.
– Descargar de https://github.com/velesin/jasmine-jquery.
– Incluya en su archivo Index.html, después de cargar el Jasmine.
Referencias• Libro: Diseño Agil con TDD
Carlos Blé Jurado y colaboradores. http://www.carlosble.com/
• Page: Javascript Testing Framework https://github.com/pivotal/jasmine