Unit Test
El 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 dependencias
 Si 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

The art of unit testing

  • 1.
    Unit Test El artede test unitario
  • 2.
    Definición  Es uncó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.  ………………………….¿?
  • 3.
    Propiedades del Testunitario  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.
  • 4.
  • 5.
  • 6.
    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
  • 7.
    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.
  • 8.
  • 9.
    STUBS V/S MOCK STUB debe satisfacer dependencias  Si 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.
  • 10.
    Por que usarMock 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.
  • 11.
  • 12.
  • 13.
    Rhino Mock -Continua
  • 14.