the art of unit testing
DESCRIPTION
unit test, basic principlesTRANSCRIPT
Unit TestEl arte de test unitario
Definición
Es un código que invoca a otro código, Usualmente un método.
Chequea si una presunción es correcta.
Se dice unitario pues prueba una sola funcionalidad.
………………………….¿?
Propiedades del Test unitario
Debe ser automatizado y repetitivo.
DEBE SER FACIL DE IMPLEMENTAR
Una vez escrito debe permanecer para futuros usos
Cualquiera los puede ejecutar, idealmente oprimiendo un botón.
Debe correr rápido.
Un test simple
La Class Assert
Del Ejemplo Anterior
El nombre del test es importante
DataEntregada_NombreMetodo_Resultado
Nos ayuda a buscarlo rápido
En un proyecto se escribe varios test por funcionalidad
Muy Bonito, pero……
En mi proyecto tengo que integrar Servicios Web.
Hay varios hilos.
……………..
Como funciona el test unitario
Examinemos de cerca un requerimiento real.
Stubs and Mocks
FAKE SERVICIO WEB
STUBS V/S MOCK
STUB debe satisfacer dependenciasSi nuestro funcionalidad bajo test depende de esta
clase, se habla de stub y se deben cumplir ciertas reglas. Se espera un valor Los argumentos deben tener cierto formato
Si no se cumplen estas Condiciones, nuestra funcionalidad bajo test no se comporta adecuadamente
MOCK es una clase tonta Si nuesta funcionalidad bajo test no depende de esta
clase pera la necesita.
Por que usar Mock o Stub
Por que solo se debe testear nuestra logica
Bajo la premisa del Test unitario no tiene sentido probar un servicio web. Que ni siquiera esta escrito por nosotros o del que no tenemos control.
Que sentido tiene probar cosas ultraprovadas y que forman parte de la suite de MSVS, PHP, Ruby…… no vas a descubrir fallas.
ALGUNOS EJEMPLOS
Rhino Mock
Rhino Mock - Continua
Mas de Rhino Mock