tdd en java script

34
TDD en JavaScript Primero el test!

Upload: carlos-uscamayta

Post on 12-Apr-2017

164 views

Category:

Technology


0 download

TRANSCRIPT

TDD en JavaScriptPrimero el test!

  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

Erase una vez! …

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

Demo de Adrian

Demo Pablo

VS.

Hacer la Versión 2, para ver cual es la mejor aplicación

Necesito nuevas caracterizas para

el Sistema .

1° Análisis 2° Test, 3° Código

Reutilizar código, seguir

haciendo código.

Cuando NO haces pruebas….

Cuando SI haces pruebas…

¿Qué hizo Iván?

TDD en JavaScriptPrimero el test!

Lo que veremos

¿Que es TDD ?Los pilares de TDD¿Qué son test unitarios?Algoritmo de TDDAAAHerramientas TDDJasmineHacer prueba!Jasmine MatchersJasmine jQuery

Test Driver Development

TDD

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

Las 3 partes de las pruebas:

A A A•Arrange (Preparar)

•Act (Actuar)

•Assert (Afirmar)

Propiedades de

un buen test

tómico

ndependiente

nocuo

ápido

Framework TDD

JSSpecRSpec

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.

Estructura de carpetas

Specs

Estructura de un archivo de pruebas

Test Setup & Teardown

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.

Vamos a hacer pruebas!!!!

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.

Es posible hacer prueba a este código?

NO

Es posible hacer prueba a este código?

SI

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