Avenida de Castilla1 - Edificio Best Point - Oficina 21B28830 San Fernando de Henares (Madrid)
telfax +34 91 675 33 06infoautentiacom - wwwautentiacom
Somos su empresa de Soporte a Desarrollo InformaacuteticoEse apoyo que siempre quiso tener
1 Desarrollo de componentes y proyectos a medida
TecnologiacuteaDesarrolloSistemas
Gran Empresa
Produccioacuten
autentia
Certificacioacuteno Pruebas
Verificacioacuten previa
RFP Concurso
Consultora 1
Consultora 2
Consultora 3
Equipo propio desarrolloPiloto
3a
3b
1 Definicioacuten de frameworks corporativos2 Transferencia de conocimiento de nuevas arquitecturas3 Soporte al arranque de proyectos4 Auditoriacutea preventiva perioacutedica de calidad5 Revisioacuten previa a la certificacioacuten de proyectos6 Extensioacuten de capacidad de equipos de calidad7 Identificacioacuten de problemas en produccioacuten
3 Arranque de proyectos basados en nuevas tecnologiacuteas
iquestQueacute ofrece Autentia Real Business Solutions SL
Para maacutes informacioacuten visiacutetenos en wwwautentiacom
Compartimos nuestro conociemiento en wwwadictosaltrabajocom
Gestor portales (Liferay)Gestor de contenidos (Alfresco)Aplicaciones hiacutebridas
Tareas programadas (Quartz)Gestor documental (Alfresco)Inversioacuten de control (Spring)
BPM (jBPM o Bonita)Generacioacuten de informes (JasperReport)ESB (Open ESB)
Control de autenticacioacuten y acceso (Spring Security)UDDIWeb ServicesRest ServicesSocial SSOSSO (Cas)
Spring MVC JSF-PrimeFaces RichFaces HTML5 CSS3 JavaScript-jQuery
JPA-Hibernate MyBatisMotor de buacutesqueda empresarial (Solr)ETL (Talend)
Direccioacuten de Proyectos InformaacuteticosMetodologiacuteas aacutegilesPatrones de disentildeoTDD
2 Auditoriacutea de coacutedigo y recomendaciones de mejora
4 Cursos de formacioacuten (impartidos por desarrolladores en activo)
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 112
Entra en Adictos a traveacutes de
Entrar
Eshymail
Contrasentildea
Deseo registrarmeOlvideacute mi contrasentildea
Inicio Quieacutenes somos Formacioacuten Comparador de salarios Nuestros libros Maacutes
raquo Estaacutes en Inicio Tutoriales Xcode Guiacutea Baacutesica Test Unitarios
Siacuteguenos a traveacutes de
Cataacutelogo de serviciosAutentia
Uacuteltimas Noticias
raquo Atencioacuten APLAZADOEstreno uacuteltimo capiacutetulo deTerrakas
raquo Vendedor Soy insegurofiltra o elige por mi si quieresque te compre
raquo Comentando el libro Elarte de pensar de RolfDobelli
raquo Ya estaacute a la venta misegundo libro Planifica tueacutexito de aprendiz aempresario
raquo Ya esta disponible eneBook mi primer libroInformaacutetica Profesional
Histoacuterico de noticias
Uacuteltimos Tutoriales
raquo Haciendo BDD conCucumber
raquo Manejo de test conTestLink
raquo Prototipado de pantallascon Pencil
Ver todos los tutoriales del autor
Sauacutel Garciacutea Diacuteaz
Consultor tecnoloacutegico de desarrollo de proyectos informaacuteticos
Charla sobre LiquiBase
Charla sobre Alfresco Community Edition
Puedes encontrarme en Autentia Ofrecemos servicios de soporte a desarrollofactoriacutea y formacioacuten
Somos expertos en JavaJEE
Fecha de publicacioacuten del tutorial 2013shy05shy13 Tutorial visitado 71 veces Descargar en PDF
Xcode shy Guiacutea Baacutesica Tests Unitarios
0 Indice de contenidos
1 Entorno2 Introduccioacuten3 OCUnit
31 Antildeadiendo Tests Unitarios a nuestro proyecto32 Configuracioacuten Test Loacutegicos33 Configuracioacuten Test de Aplicacioacuten
4 Primeros Tests Unitarios5 Alternativas OCUnit y complementos6 Conclusiones
1 Entorno
Hardware Portaacutetil MacBook Pro 15 (26 GHz Intel Core i7 8GB DDR3 SDRAM 250GB HDD)Sistema Operativo Mac OS X Mountain Lion 1082Xcode 462
2 Introduccioacuten
Independientemente del software que estemos desarrollando el uso de TDD (Test Driven Development) es un enfoquede desarrollo aacutegil en el que primero se escriben las pruebas y despueacutes el coacutedigo necesario para que las pruebas seejecuten de manera satisfactoria El objetivo del tutorial no es explicar cuaacuteles son las ventajas de aplicar TDD en losdesarrollos actuales incluidos los desarrollos para plataformas moacuteviles en este caso para dispositivos iOS sinoaprender que herramientas pone a nuestra disposicioacuten dicha plataforma para probar nuestras apps En cualquier casono esta mal recordar algunas de las principales ventajas de esta teacutecnica como por ejemplo
Mayor calidad y robustez del coacutedigoDisentildeo maacutes simple y enfocado a las necesidades realesAumento de la productividadMenos tiempo en la deteccioacuten y correccioacuten de errores
3 OCUnit
OCUnit es un framework de pruebas para Objective C Esta desarrollado por SenTe y la principal ventaja frente a otrasalternativas disponibles es que Apple lo ha integrado en Xcode desde la versioacuten 21 por lo que resulta maacutes faacutecil y raacutepidocomenzar a trabajar Es multiplataforma lo cual es uacutetil si estamos usando Objective C en plataformas distintas a iOS oMac OS X
Otra caracteriacutestica importante de OCUnit es que pone a nuestra disposicioacuten SenTestingKit framework openshysource quenos permitiraacute disentildear conjuntos de pruebas para probar nuestro coacutedigo La perfecta integracioacuten con Xcode nos ayudaraacutea incluir TDD en nuestros desarrollos de una manera faacutecil permitieacutendonos realizar dos tipos de pruebas
Pruebas loacutegicas estas pruebas comprueban el correcto funcionamiento de una pieza de coacutedigo por siacute mismo (noen el contexto de una aplicacioacuten) Con las pruebas loacutegicas se puede disentildear casos de prueba especiacuteficos paraprobar una pieza de coacutedigo de manera independiente Tambieacuten puede utilizar las pruebas loacutegicas para llevar acabo pruebas de estreacutes de nuestro coacutedigo aseguraacutendonos que se comporta correctamente en situacionesextremas que probablemente se den en la ejecucioacuten de la aplicacioacuten en un entorno real Estas pruebas ayudan aproducir un coacutedigo robusto que funciona correctamente cuando se dan casos que no se han previsto
Pruebas de aplicacioacuten estos exaacutemenes prueban piezas de coacutedigo en el contexto real de la aplicacioacuten Podemosutilizar estas pruebas de aplicacioacuten para asegurarnos de que las conexiones entre los controles de la interfaz deusuario (IBOutlet y IBAction) y los objetos de negocio funcionan correctamente Tambieacuten podemos utilizar estas
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 212
raquo Como testear aplicacionesen Emberjs
raquo Internacionalizar unaaplicacioacuten creada con Ember
Uacuteltimos Tutoriales delAutor
raquo Mountain Lion shy GitldquoCommand Not Foundrdquo
raquo Chrome Remote Desktop
raquo Coacutemo implementar undatatable editable con elsoporte de primefaces
raquo Coacutemo trabajar con branchen SmartGit
raquo Coacutemo trabajar con JSF2 yel soporte de inyeccioacuten dedependencias de Spring
Uacuteltimas ofertas deempleo
2011shy09shy08Comercial shy Ventas shyMADRID
2011shy09shy03Comercial shy Ventas shyVALENCIA
2011shy08shy19Comercial shy Compras shyALICANTE
2011shy07shy12Otras Sin catalogar shyMADRID
2011shy07shy06Otras Sin catalogar shyLUGO
tests para realizar pruebas de hardware como por ejemplo obtener la ubicacioacuten del dispositivo en el que seejecuta la aplicacioacuten
31 Antildeadiendo Tests Unitarios a nuestro proyecto
La forma maacutes coacutemoda de antildeadir tests unitarios a un proyecto es en el momento de crearlo Si selecciona la opcioacutenInclude unit tests al crear un proyecto Xcode incluye un nuevo target para las pruebas unitarias en el proyecto
Si este no es el caso podemos seguir los siguientes pasos
1 shy Desde el proyecto al que queremos antildeadir la unidad de pruebas elegimos File gt New gt New Target2 shy Seleccionamos una de las plantillas que nos proporciona Xcode en funcioacuten de la plataforma
IOS En esta seccioacuten seleccionar Otros gt Cocoa Touch Unit Testing BundleMac En esta seccioacuten seleccionar Otros gt Cocoa Unit Testing Bundle
4 shy Seleccionamos la opcioacuten Next5 shy Especificamos la informacioacuten baacutesica y necesaria para el nuevo target
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 312
6 shy Pulsamos finish
Desde el navegador podemos ver el nuevo target en la jerarquiacutea del proyecto
32 Configuracioacuten Test Loacutegicos
Si antildeadimos un nuevo target para los tests unitarios tal y como os he descrito en el punto anterior ya estaacute configuradopara realizar pruebas loacutegicas Para realizar la configuracioacuten manualmente podemos seguir los siguientes pasos
1 shy Desde el editor de proyecto seleccionamos el target a configurar y pulsamos Build settings
2 shy Desde el panel Build settings click All
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 412
3 shy En el campo de buacutesqueda escribimos bundle loader
4 shy Si la propiedad bundle loader aparece en negrita la eliminamos
5 shy En el campo de buacutesqueda escribimos test host
6 shy Si la propiedad test host aparece en negrita la eliminamos
33 Configuracioacuten Test de Aplicacioacuten
Si hemos creado un proyecto marcando la opcioacuten include unit test la unidad de tests ya estaacute configurada para realizarpruebas unitarias de aplicacioacuten De cualquier otro modo para configurar la unidad de test podemos seguir los siguientespasos
1 y 2 shy Exactamente igual que en el punto anterior Con la unidad de pruebas que queremos configurar seleccionadaabrimos el panel Build settings
3 shy Asignamos valor a la propiedades de la seccioacuten bundle loader en funcioacuten de la plataforma
iOS $(BUILT_PRODUCTS_DIR)appMac $(BUILT_PRODUCTS_DIR)appContentsMacOS
donde appshyname es el nombre de nuestra aplicacioacuten
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 512
4 shy Asignamos valor a las propiedades de la seccioacuten test host a $(BUNDLE_LOADER)
5 shy Hacemos dependiente el target para las pruebas del target en el que se basa nuestra aplicacioacuten
6 shy Nos aseguramos que el target para las pruebas esta correctamente asociado al schema de nuestra aplicacioacutenDesde el panel de edicioacuten editamos el schema de nuestra aplicacioacuten
Seleccionamos la opcioacuten Test del menuacute lateral y tenemos que ver la unidad de pruebas asociada
4 Primeros Tests Unitarios
El primer paso a la hora de escribir pruebas unitarias y por tanto el primer paso para comenzar el disentildeo de nuestraaplicacioacuten es identificar los requisitos es decir cuaacutel es la necesidad de nuestro software Despueacutes podemos decidirque coacutedigo nos gustariacutea usar para satisfacer la necesidad requerida Este coacutedigo es el que usaremos para conformar elcuerpo de nuestro test Para poder seguir el tutorial maacutes coacutemodamente os dejo aquiacute los fuentes
Una caracteriacutestica importante de cualquier test unitario es que debe ser repetible La ejecucioacuten de los testsindependientemente del entorno en el que se ejecuten debe terminar satisfactoriamente si el coacutedigo de la prueba escorrecto y fallar en caso contrario Los factores ambientales externos tales como la configuracioacuten del entorno en el quese ejecutan las pruebas o la integracioacuten de software externo como base de datos no deben influir en la en la correctaejecucioacuten de los mismos
El ejemplo propuesto para el tutorial es una aplicacioacuten sencilla que convierte Euros a pesetas llamadme nostaacutelgico siquereacuteis shy)
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 612
No nos daraacuten el premio al mejor disentildeo del antildeo pero como ejemplo seraacute suficiente Recibimos por tanto un dato deentrada que seraacute convertido y devolveremos un dato de salida Tendremos una clase encargado de realizar el negociode nuestra app y devolver el resultado de la operacioacuten realizada Lo primero que voy a probar es que la clase tiene lapropiedad en la que se retornaraacute el resultado
Loacutegicamente tenemos errores de compilacioacuten ya que todaviacutea no existe nuestra clase ConversorEuros Recordad queestamos haciendo TDD y primero vamos escribiendo los test lo que nos iraacute guiando para escribir nuestro coacutedigo Ahoranuestro test no funciona (red flag) El siguiente paso es refactorizar nuestro coacutedigo para que el test pasesatisfactoriamente (green flag) Creamos entonces ConversorEuros e incluimos en la declaracioacuten la propiedad valuePts
Quedando la implementacioacuten
Desde el test veremos que los errores de compilacioacuten se han solucionado asiacute que vamos a ejecutar el test Para ello solotenemos que pulsar Product gt Test El resultado de la ejecucioacuten se muestra en la vista de Log del menu lateral deXcode
De manera sencilla hemos seguido el flujo de trabajo de TDD
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 712
Elegir un requisito se elige de una lista el requisitos el que se creeacute que nos daraacute mayor conocimiento del problemay que a la vez sea faacutecilmente implementableEscribir una prueba se comienza escribiendo una prueba para el requisito Para ello el programador debeentender claramente las especificaciones de la funcionalidad que va a implementarVerificar que la prueba falla si la prueba no falla es porque el requisito ya estaba implementado o porque laprueba es erroacuteneaEscribir la implementacioacuten escribir el coacutedigo maacutes sencillo que haga que la prueba funcione Se usa la metaacuteforaHazlo faacutecil (Keep It Simple Stupid (KISS))Ejecutar las pruebas automatizadas verificar si todo el conjunto de pruebas funciona correctamenteRefactorizacioacuten el paso final es la refactorizacioacuten que utilizaremos normalmente para eliminar coacutedigo duplicado ydejar nuestro coacutedigo maacutes limpio y legibleActualizacioacuten de la lista de requisitos se actualiza la lista de requisitos tachando el requisito implementadoAsimismo se agregan requisitos que se hayan visto como necesarios durante este ciclo y se agreganrequerimientos de disentildeo por ejemplo que una funcionalidad esteacute desacoplada de otra
Seguimos escribiendo nuestro coacutedigo escribiendo un nuevo test En este caso probamos que el ConversorEuros escapaz de recibir un paraacutemetro de entrada y convertirlo a pesetas
Vemos que nuestro test esta marcado con red flag ya que el meacutetodo no esta declarado en ConversoEuros Realizamoslas modificaciones oportunas en nuestro coacutedigo
Y la implementacioacuten
A continuacioacuten ejecutamos los test Product gt Test
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 812
Podemos comprobar que el nuevo test falla con lo que continuamos con el siguiente paso en flujo de TDD yrefactorizamos nuestro coacutedigo para que la prueba pase satisfactoriamente (green flag)
Volvemos a lanzar los tests y voilaacute los tests se han ejecutado satisfactoriamente (green flag)
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 912
Asiacute podriacuteamos seguir escribiendo los tests y por tanto disentildeando y escribiendo el coacutedigo de nuestra aplicacioacuten para cadauna de las piezas que la conforma Esto es un ejemplo y por eso no voy a incluir en el tutorial los tests del resto de laspiezas que conforman la app como podriacutea ser los tests para el ViewController Sin embargo es importante que sepamosque asserts disponemos para validar el resultado de nuestro coacutedigo
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1012
Os dejo el enlace a la documentacioacuten oficial
5 Alternativas OCUnit y complementos
En este punto comentareacute brevemente algunas alternativas para OCUnit y tambieacuten un complemento indispensable comoOCMock para poder probar nuestras aplicaciones Apple
1 shy Google Toolkit for Mac el kit de herramientas de Google para Mac (GTM) esta lleno de utilidades interesantesy uacutetiles que aumentan las capacidades de prueba para iOS Las unidades descritas en GTM Testing soacutelo es unade sus caracteriacutesticas GTM nos proporciona una coleccioacuten de macros adicionales que permiten entre otras cosasque los meacutetodos de prueba sean maacutes cortos y maacutes descriptivos de lo que son cuando se escribe para los test conOCUnit Tambieacuten proporciona mock object para verificar que los mensajes de registro coincide con lo que cabriacuteaesperar y cuenta con categoriacuteas para las pruebas de graacuteficos e imaacutegenes
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1112
2 shy GHUnit El marco GHUnit estaacute disentildeado con OCUnit y Google compatibilidad Toolkit en mente De hecho esposible tomar conjuntos de pruebas escritas para cualquier framework de pruebas y utilizarlos en GHUnit sinmodificaciones La principal caracteriacutestica de GHUnit es que posee un frontend personalizado tanto para Mac yiOS que proporciona la capacidad de filtrar los resultados de pruebas basadas en palabras clave y ofrece unmayor control sobre la presentacioacuten de los resultados de las pruebas que Xcode permite Originalmente seejecuta en una aplicacioacuten lo que hace maacutes faacutecil depurar las pruebas unitarias de lo que es posible con OCUnit ElGHUnit GUI para iOS se muestra en siguiente imagen
3 shy OCMock OCMock es un framework para la creacioacuten sencilla de objetos simulados Utiliza las capacidades de
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1212
Esta obra estaacute licenciada bajo licencia Creative Commons de ReconocimientoshyNo comercialshySin obras derivadas 25
PUSH THIS Page Pushers Community Help
shyshyshyshyno clicks + + + + + + + +
0 people brought clicks to this page
powered by karmacracy
Share | 0
raquo Registrate y accede a esta y otras ventajas laquo
Aniacutemate y comeacutentanos lo que pienses sobre este TUTORIAL
introspeccioacuten de ObjectiveshyC en tiempo de ejecucioacuten para crear automaacuteticamente objetos simulados que puedensustituir a las instancias de los objetos reales Al usar mocks en nuestros tests crearemos objetos indicando queacutemeacutetodos pueden ser llamados cuaacuteles deben ser los paraacutemetros y el valor que deben ser devueltos En la fase deverificacioacuten evaluaraacute la llamada a los meacutetodos previstos (y que no ejecutoacute nada mas) con los paraacutemetrosconfigurados previamente Este es un complemento imprescindible para el desarrollo de aplicaciones basados enpruebas (TDD)
6 Conclusiones
La conclusioacuten no tenemos excusa para no probar nuestros desarrollos en la plataforma de la manzanita dando un valorantildeadiado a las misma y a los usuarios que la utilicen ya que nuestra aplicacioacuten seraacute mucho maacutes fiable al haber sidodisentildeada mediante TDD
Espero que este tutorial os haya sido de ayuda Un saludo
Sauacutel Garciacutea Diacuteazsgdiazautentiacom
A continuacioacuten puedes evaluarlo
Regiacutestrate para evaluarlo
Por favor vota +1 o compaacutertelo si te parecioacute interesante
Copyright 2003shy2013 copy All Rights Reserved | Texto legal y condiciones de uso | Banners | Powered by Autentia | Contacto
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 112
Entra en Adictos a traveacutes de
Entrar
Eshymail
Contrasentildea
Deseo registrarmeOlvideacute mi contrasentildea
Inicio Quieacutenes somos Formacioacuten Comparador de salarios Nuestros libros Maacutes
raquo Estaacutes en Inicio Tutoriales Xcode Guiacutea Baacutesica Test Unitarios
Siacuteguenos a traveacutes de
Cataacutelogo de serviciosAutentia
Uacuteltimas Noticias
raquo Atencioacuten APLAZADOEstreno uacuteltimo capiacutetulo deTerrakas
raquo Vendedor Soy insegurofiltra o elige por mi si quieresque te compre
raquo Comentando el libro Elarte de pensar de RolfDobelli
raquo Ya estaacute a la venta misegundo libro Planifica tueacutexito de aprendiz aempresario
raquo Ya esta disponible eneBook mi primer libroInformaacutetica Profesional
Histoacuterico de noticias
Uacuteltimos Tutoriales
raquo Haciendo BDD conCucumber
raquo Manejo de test conTestLink
raquo Prototipado de pantallascon Pencil
Ver todos los tutoriales del autor
Sauacutel Garciacutea Diacuteaz
Consultor tecnoloacutegico de desarrollo de proyectos informaacuteticos
Charla sobre LiquiBase
Charla sobre Alfresco Community Edition
Puedes encontrarme en Autentia Ofrecemos servicios de soporte a desarrollofactoriacutea y formacioacuten
Somos expertos en JavaJEE
Fecha de publicacioacuten del tutorial 2013shy05shy13 Tutorial visitado 71 veces Descargar en PDF
Xcode shy Guiacutea Baacutesica Tests Unitarios
0 Indice de contenidos
1 Entorno2 Introduccioacuten3 OCUnit
31 Antildeadiendo Tests Unitarios a nuestro proyecto32 Configuracioacuten Test Loacutegicos33 Configuracioacuten Test de Aplicacioacuten
4 Primeros Tests Unitarios5 Alternativas OCUnit y complementos6 Conclusiones
1 Entorno
Hardware Portaacutetil MacBook Pro 15 (26 GHz Intel Core i7 8GB DDR3 SDRAM 250GB HDD)Sistema Operativo Mac OS X Mountain Lion 1082Xcode 462
2 Introduccioacuten
Independientemente del software que estemos desarrollando el uso de TDD (Test Driven Development) es un enfoquede desarrollo aacutegil en el que primero se escriben las pruebas y despueacutes el coacutedigo necesario para que las pruebas seejecuten de manera satisfactoria El objetivo del tutorial no es explicar cuaacuteles son las ventajas de aplicar TDD en losdesarrollos actuales incluidos los desarrollos para plataformas moacuteviles en este caso para dispositivos iOS sinoaprender que herramientas pone a nuestra disposicioacuten dicha plataforma para probar nuestras apps En cualquier casono esta mal recordar algunas de las principales ventajas de esta teacutecnica como por ejemplo
Mayor calidad y robustez del coacutedigoDisentildeo maacutes simple y enfocado a las necesidades realesAumento de la productividadMenos tiempo en la deteccioacuten y correccioacuten de errores
3 OCUnit
OCUnit es un framework de pruebas para Objective C Esta desarrollado por SenTe y la principal ventaja frente a otrasalternativas disponibles es que Apple lo ha integrado en Xcode desde la versioacuten 21 por lo que resulta maacutes faacutecil y raacutepidocomenzar a trabajar Es multiplataforma lo cual es uacutetil si estamos usando Objective C en plataformas distintas a iOS oMac OS X
Otra caracteriacutestica importante de OCUnit es que pone a nuestra disposicioacuten SenTestingKit framework openshysource quenos permitiraacute disentildear conjuntos de pruebas para probar nuestro coacutedigo La perfecta integracioacuten con Xcode nos ayudaraacutea incluir TDD en nuestros desarrollos de una manera faacutecil permitieacutendonos realizar dos tipos de pruebas
Pruebas loacutegicas estas pruebas comprueban el correcto funcionamiento de una pieza de coacutedigo por siacute mismo (noen el contexto de una aplicacioacuten) Con las pruebas loacutegicas se puede disentildear casos de prueba especiacuteficos paraprobar una pieza de coacutedigo de manera independiente Tambieacuten puede utilizar las pruebas loacutegicas para llevar acabo pruebas de estreacutes de nuestro coacutedigo aseguraacutendonos que se comporta correctamente en situacionesextremas que probablemente se den en la ejecucioacuten de la aplicacioacuten en un entorno real Estas pruebas ayudan aproducir un coacutedigo robusto que funciona correctamente cuando se dan casos que no se han previsto
Pruebas de aplicacioacuten estos exaacutemenes prueban piezas de coacutedigo en el contexto real de la aplicacioacuten Podemosutilizar estas pruebas de aplicacioacuten para asegurarnos de que las conexiones entre los controles de la interfaz deusuario (IBOutlet y IBAction) y los objetos de negocio funcionan correctamente Tambieacuten podemos utilizar estas
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 212
raquo Como testear aplicacionesen Emberjs
raquo Internacionalizar unaaplicacioacuten creada con Ember
Uacuteltimos Tutoriales delAutor
raquo Mountain Lion shy GitldquoCommand Not Foundrdquo
raquo Chrome Remote Desktop
raquo Coacutemo implementar undatatable editable con elsoporte de primefaces
raquo Coacutemo trabajar con branchen SmartGit
raquo Coacutemo trabajar con JSF2 yel soporte de inyeccioacuten dedependencias de Spring
Uacuteltimas ofertas deempleo
2011shy09shy08Comercial shy Ventas shyMADRID
2011shy09shy03Comercial shy Ventas shyVALENCIA
2011shy08shy19Comercial shy Compras shyALICANTE
2011shy07shy12Otras Sin catalogar shyMADRID
2011shy07shy06Otras Sin catalogar shyLUGO
tests para realizar pruebas de hardware como por ejemplo obtener la ubicacioacuten del dispositivo en el que seejecuta la aplicacioacuten
31 Antildeadiendo Tests Unitarios a nuestro proyecto
La forma maacutes coacutemoda de antildeadir tests unitarios a un proyecto es en el momento de crearlo Si selecciona la opcioacutenInclude unit tests al crear un proyecto Xcode incluye un nuevo target para las pruebas unitarias en el proyecto
Si este no es el caso podemos seguir los siguientes pasos
1 shy Desde el proyecto al que queremos antildeadir la unidad de pruebas elegimos File gt New gt New Target2 shy Seleccionamos una de las plantillas que nos proporciona Xcode en funcioacuten de la plataforma
IOS En esta seccioacuten seleccionar Otros gt Cocoa Touch Unit Testing BundleMac En esta seccioacuten seleccionar Otros gt Cocoa Unit Testing Bundle
4 shy Seleccionamos la opcioacuten Next5 shy Especificamos la informacioacuten baacutesica y necesaria para el nuevo target
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 312
6 shy Pulsamos finish
Desde el navegador podemos ver el nuevo target en la jerarquiacutea del proyecto
32 Configuracioacuten Test Loacutegicos
Si antildeadimos un nuevo target para los tests unitarios tal y como os he descrito en el punto anterior ya estaacute configuradopara realizar pruebas loacutegicas Para realizar la configuracioacuten manualmente podemos seguir los siguientes pasos
1 shy Desde el editor de proyecto seleccionamos el target a configurar y pulsamos Build settings
2 shy Desde el panel Build settings click All
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 412
3 shy En el campo de buacutesqueda escribimos bundle loader
4 shy Si la propiedad bundle loader aparece en negrita la eliminamos
5 shy En el campo de buacutesqueda escribimos test host
6 shy Si la propiedad test host aparece en negrita la eliminamos
33 Configuracioacuten Test de Aplicacioacuten
Si hemos creado un proyecto marcando la opcioacuten include unit test la unidad de tests ya estaacute configurada para realizarpruebas unitarias de aplicacioacuten De cualquier otro modo para configurar la unidad de test podemos seguir los siguientespasos
1 y 2 shy Exactamente igual que en el punto anterior Con la unidad de pruebas que queremos configurar seleccionadaabrimos el panel Build settings
3 shy Asignamos valor a la propiedades de la seccioacuten bundle loader en funcioacuten de la plataforma
iOS $(BUILT_PRODUCTS_DIR)appMac $(BUILT_PRODUCTS_DIR)appContentsMacOS
donde appshyname es el nombre de nuestra aplicacioacuten
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 512
4 shy Asignamos valor a las propiedades de la seccioacuten test host a $(BUNDLE_LOADER)
5 shy Hacemos dependiente el target para las pruebas del target en el que se basa nuestra aplicacioacuten
6 shy Nos aseguramos que el target para las pruebas esta correctamente asociado al schema de nuestra aplicacioacutenDesde el panel de edicioacuten editamos el schema de nuestra aplicacioacuten
Seleccionamos la opcioacuten Test del menuacute lateral y tenemos que ver la unidad de pruebas asociada
4 Primeros Tests Unitarios
El primer paso a la hora de escribir pruebas unitarias y por tanto el primer paso para comenzar el disentildeo de nuestraaplicacioacuten es identificar los requisitos es decir cuaacutel es la necesidad de nuestro software Despueacutes podemos decidirque coacutedigo nos gustariacutea usar para satisfacer la necesidad requerida Este coacutedigo es el que usaremos para conformar elcuerpo de nuestro test Para poder seguir el tutorial maacutes coacutemodamente os dejo aquiacute los fuentes
Una caracteriacutestica importante de cualquier test unitario es que debe ser repetible La ejecucioacuten de los testsindependientemente del entorno en el que se ejecuten debe terminar satisfactoriamente si el coacutedigo de la prueba escorrecto y fallar en caso contrario Los factores ambientales externos tales como la configuracioacuten del entorno en el quese ejecutan las pruebas o la integracioacuten de software externo como base de datos no deben influir en la en la correctaejecucioacuten de los mismos
El ejemplo propuesto para el tutorial es una aplicacioacuten sencilla que convierte Euros a pesetas llamadme nostaacutelgico siquereacuteis shy)
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 612
No nos daraacuten el premio al mejor disentildeo del antildeo pero como ejemplo seraacute suficiente Recibimos por tanto un dato deentrada que seraacute convertido y devolveremos un dato de salida Tendremos una clase encargado de realizar el negociode nuestra app y devolver el resultado de la operacioacuten realizada Lo primero que voy a probar es que la clase tiene lapropiedad en la que se retornaraacute el resultado
Loacutegicamente tenemos errores de compilacioacuten ya que todaviacutea no existe nuestra clase ConversorEuros Recordad queestamos haciendo TDD y primero vamos escribiendo los test lo que nos iraacute guiando para escribir nuestro coacutedigo Ahoranuestro test no funciona (red flag) El siguiente paso es refactorizar nuestro coacutedigo para que el test pasesatisfactoriamente (green flag) Creamos entonces ConversorEuros e incluimos en la declaracioacuten la propiedad valuePts
Quedando la implementacioacuten
Desde el test veremos que los errores de compilacioacuten se han solucionado asiacute que vamos a ejecutar el test Para ello solotenemos que pulsar Product gt Test El resultado de la ejecucioacuten se muestra en la vista de Log del menu lateral deXcode
De manera sencilla hemos seguido el flujo de trabajo de TDD
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 712
Elegir un requisito se elige de una lista el requisitos el que se creeacute que nos daraacute mayor conocimiento del problemay que a la vez sea faacutecilmente implementableEscribir una prueba se comienza escribiendo una prueba para el requisito Para ello el programador debeentender claramente las especificaciones de la funcionalidad que va a implementarVerificar que la prueba falla si la prueba no falla es porque el requisito ya estaba implementado o porque laprueba es erroacuteneaEscribir la implementacioacuten escribir el coacutedigo maacutes sencillo que haga que la prueba funcione Se usa la metaacuteforaHazlo faacutecil (Keep It Simple Stupid (KISS))Ejecutar las pruebas automatizadas verificar si todo el conjunto de pruebas funciona correctamenteRefactorizacioacuten el paso final es la refactorizacioacuten que utilizaremos normalmente para eliminar coacutedigo duplicado ydejar nuestro coacutedigo maacutes limpio y legibleActualizacioacuten de la lista de requisitos se actualiza la lista de requisitos tachando el requisito implementadoAsimismo se agregan requisitos que se hayan visto como necesarios durante este ciclo y se agreganrequerimientos de disentildeo por ejemplo que una funcionalidad esteacute desacoplada de otra
Seguimos escribiendo nuestro coacutedigo escribiendo un nuevo test En este caso probamos que el ConversorEuros escapaz de recibir un paraacutemetro de entrada y convertirlo a pesetas
Vemos que nuestro test esta marcado con red flag ya que el meacutetodo no esta declarado en ConversoEuros Realizamoslas modificaciones oportunas en nuestro coacutedigo
Y la implementacioacuten
A continuacioacuten ejecutamos los test Product gt Test
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 812
Podemos comprobar que el nuevo test falla con lo que continuamos con el siguiente paso en flujo de TDD yrefactorizamos nuestro coacutedigo para que la prueba pase satisfactoriamente (green flag)
Volvemos a lanzar los tests y voilaacute los tests se han ejecutado satisfactoriamente (green flag)
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 912
Asiacute podriacuteamos seguir escribiendo los tests y por tanto disentildeando y escribiendo el coacutedigo de nuestra aplicacioacuten para cadauna de las piezas que la conforma Esto es un ejemplo y por eso no voy a incluir en el tutorial los tests del resto de laspiezas que conforman la app como podriacutea ser los tests para el ViewController Sin embargo es importante que sepamosque asserts disponemos para validar el resultado de nuestro coacutedigo
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1012
Os dejo el enlace a la documentacioacuten oficial
5 Alternativas OCUnit y complementos
En este punto comentareacute brevemente algunas alternativas para OCUnit y tambieacuten un complemento indispensable comoOCMock para poder probar nuestras aplicaciones Apple
1 shy Google Toolkit for Mac el kit de herramientas de Google para Mac (GTM) esta lleno de utilidades interesantesy uacutetiles que aumentan las capacidades de prueba para iOS Las unidades descritas en GTM Testing soacutelo es unade sus caracteriacutesticas GTM nos proporciona una coleccioacuten de macros adicionales que permiten entre otras cosasque los meacutetodos de prueba sean maacutes cortos y maacutes descriptivos de lo que son cuando se escribe para los test conOCUnit Tambieacuten proporciona mock object para verificar que los mensajes de registro coincide con lo que cabriacuteaesperar y cuenta con categoriacuteas para las pruebas de graacuteficos e imaacutegenes
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1112
2 shy GHUnit El marco GHUnit estaacute disentildeado con OCUnit y Google compatibilidad Toolkit en mente De hecho esposible tomar conjuntos de pruebas escritas para cualquier framework de pruebas y utilizarlos en GHUnit sinmodificaciones La principal caracteriacutestica de GHUnit es que posee un frontend personalizado tanto para Mac yiOS que proporciona la capacidad de filtrar los resultados de pruebas basadas en palabras clave y ofrece unmayor control sobre la presentacioacuten de los resultados de las pruebas que Xcode permite Originalmente seejecuta en una aplicacioacuten lo que hace maacutes faacutecil depurar las pruebas unitarias de lo que es posible con OCUnit ElGHUnit GUI para iOS se muestra en siguiente imagen
3 shy OCMock OCMock es un framework para la creacioacuten sencilla de objetos simulados Utiliza las capacidades de
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1212
Esta obra estaacute licenciada bajo licencia Creative Commons de ReconocimientoshyNo comercialshySin obras derivadas 25
PUSH THIS Page Pushers Community Help
shyshyshyshyno clicks + + + + + + + +
0 people brought clicks to this page
powered by karmacracy
Share | 0
raquo Registrate y accede a esta y otras ventajas laquo
Aniacutemate y comeacutentanos lo que pienses sobre este TUTORIAL
introspeccioacuten de ObjectiveshyC en tiempo de ejecucioacuten para crear automaacuteticamente objetos simulados que puedensustituir a las instancias de los objetos reales Al usar mocks en nuestros tests crearemos objetos indicando queacutemeacutetodos pueden ser llamados cuaacuteles deben ser los paraacutemetros y el valor que deben ser devueltos En la fase deverificacioacuten evaluaraacute la llamada a los meacutetodos previstos (y que no ejecutoacute nada mas) con los paraacutemetrosconfigurados previamente Este es un complemento imprescindible para el desarrollo de aplicaciones basados enpruebas (TDD)
6 Conclusiones
La conclusioacuten no tenemos excusa para no probar nuestros desarrollos en la plataforma de la manzanita dando un valorantildeadiado a las misma y a los usuarios que la utilicen ya que nuestra aplicacioacuten seraacute mucho maacutes fiable al haber sidodisentildeada mediante TDD
Espero que este tutorial os haya sido de ayuda Un saludo
Sauacutel Garciacutea Diacuteazsgdiazautentiacom
A continuacioacuten puedes evaluarlo
Regiacutestrate para evaluarlo
Por favor vota +1 o compaacutertelo si te parecioacute interesante
Copyright 2003shy2013 copy All Rights Reserved | Texto legal y condiciones de uso | Banners | Powered by Autentia | Contacto
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 212
raquo Como testear aplicacionesen Emberjs
raquo Internacionalizar unaaplicacioacuten creada con Ember
Uacuteltimos Tutoriales delAutor
raquo Mountain Lion shy GitldquoCommand Not Foundrdquo
raquo Chrome Remote Desktop
raquo Coacutemo implementar undatatable editable con elsoporte de primefaces
raquo Coacutemo trabajar con branchen SmartGit
raquo Coacutemo trabajar con JSF2 yel soporte de inyeccioacuten dedependencias de Spring
Uacuteltimas ofertas deempleo
2011shy09shy08Comercial shy Ventas shyMADRID
2011shy09shy03Comercial shy Ventas shyVALENCIA
2011shy08shy19Comercial shy Compras shyALICANTE
2011shy07shy12Otras Sin catalogar shyMADRID
2011shy07shy06Otras Sin catalogar shyLUGO
tests para realizar pruebas de hardware como por ejemplo obtener la ubicacioacuten del dispositivo en el que seejecuta la aplicacioacuten
31 Antildeadiendo Tests Unitarios a nuestro proyecto
La forma maacutes coacutemoda de antildeadir tests unitarios a un proyecto es en el momento de crearlo Si selecciona la opcioacutenInclude unit tests al crear un proyecto Xcode incluye un nuevo target para las pruebas unitarias en el proyecto
Si este no es el caso podemos seguir los siguientes pasos
1 shy Desde el proyecto al que queremos antildeadir la unidad de pruebas elegimos File gt New gt New Target2 shy Seleccionamos una de las plantillas que nos proporciona Xcode en funcioacuten de la plataforma
IOS En esta seccioacuten seleccionar Otros gt Cocoa Touch Unit Testing BundleMac En esta seccioacuten seleccionar Otros gt Cocoa Unit Testing Bundle
4 shy Seleccionamos la opcioacuten Next5 shy Especificamos la informacioacuten baacutesica y necesaria para el nuevo target
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 312
6 shy Pulsamos finish
Desde el navegador podemos ver el nuevo target en la jerarquiacutea del proyecto
32 Configuracioacuten Test Loacutegicos
Si antildeadimos un nuevo target para los tests unitarios tal y como os he descrito en el punto anterior ya estaacute configuradopara realizar pruebas loacutegicas Para realizar la configuracioacuten manualmente podemos seguir los siguientes pasos
1 shy Desde el editor de proyecto seleccionamos el target a configurar y pulsamos Build settings
2 shy Desde el panel Build settings click All
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 412
3 shy En el campo de buacutesqueda escribimos bundle loader
4 shy Si la propiedad bundle loader aparece en negrita la eliminamos
5 shy En el campo de buacutesqueda escribimos test host
6 shy Si la propiedad test host aparece en negrita la eliminamos
33 Configuracioacuten Test de Aplicacioacuten
Si hemos creado un proyecto marcando la opcioacuten include unit test la unidad de tests ya estaacute configurada para realizarpruebas unitarias de aplicacioacuten De cualquier otro modo para configurar la unidad de test podemos seguir los siguientespasos
1 y 2 shy Exactamente igual que en el punto anterior Con la unidad de pruebas que queremos configurar seleccionadaabrimos el panel Build settings
3 shy Asignamos valor a la propiedades de la seccioacuten bundle loader en funcioacuten de la plataforma
iOS $(BUILT_PRODUCTS_DIR)appMac $(BUILT_PRODUCTS_DIR)appContentsMacOS
donde appshyname es el nombre de nuestra aplicacioacuten
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 512
4 shy Asignamos valor a las propiedades de la seccioacuten test host a $(BUNDLE_LOADER)
5 shy Hacemos dependiente el target para las pruebas del target en el que se basa nuestra aplicacioacuten
6 shy Nos aseguramos que el target para las pruebas esta correctamente asociado al schema de nuestra aplicacioacutenDesde el panel de edicioacuten editamos el schema de nuestra aplicacioacuten
Seleccionamos la opcioacuten Test del menuacute lateral y tenemos que ver la unidad de pruebas asociada
4 Primeros Tests Unitarios
El primer paso a la hora de escribir pruebas unitarias y por tanto el primer paso para comenzar el disentildeo de nuestraaplicacioacuten es identificar los requisitos es decir cuaacutel es la necesidad de nuestro software Despueacutes podemos decidirque coacutedigo nos gustariacutea usar para satisfacer la necesidad requerida Este coacutedigo es el que usaremos para conformar elcuerpo de nuestro test Para poder seguir el tutorial maacutes coacutemodamente os dejo aquiacute los fuentes
Una caracteriacutestica importante de cualquier test unitario es que debe ser repetible La ejecucioacuten de los testsindependientemente del entorno en el que se ejecuten debe terminar satisfactoriamente si el coacutedigo de la prueba escorrecto y fallar en caso contrario Los factores ambientales externos tales como la configuracioacuten del entorno en el quese ejecutan las pruebas o la integracioacuten de software externo como base de datos no deben influir en la en la correctaejecucioacuten de los mismos
El ejemplo propuesto para el tutorial es una aplicacioacuten sencilla que convierte Euros a pesetas llamadme nostaacutelgico siquereacuteis shy)
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 612
No nos daraacuten el premio al mejor disentildeo del antildeo pero como ejemplo seraacute suficiente Recibimos por tanto un dato deentrada que seraacute convertido y devolveremos un dato de salida Tendremos una clase encargado de realizar el negociode nuestra app y devolver el resultado de la operacioacuten realizada Lo primero que voy a probar es que la clase tiene lapropiedad en la que se retornaraacute el resultado
Loacutegicamente tenemos errores de compilacioacuten ya que todaviacutea no existe nuestra clase ConversorEuros Recordad queestamos haciendo TDD y primero vamos escribiendo los test lo que nos iraacute guiando para escribir nuestro coacutedigo Ahoranuestro test no funciona (red flag) El siguiente paso es refactorizar nuestro coacutedigo para que el test pasesatisfactoriamente (green flag) Creamos entonces ConversorEuros e incluimos en la declaracioacuten la propiedad valuePts
Quedando la implementacioacuten
Desde el test veremos que los errores de compilacioacuten se han solucionado asiacute que vamos a ejecutar el test Para ello solotenemos que pulsar Product gt Test El resultado de la ejecucioacuten se muestra en la vista de Log del menu lateral deXcode
De manera sencilla hemos seguido el flujo de trabajo de TDD
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 712
Elegir un requisito se elige de una lista el requisitos el que se creeacute que nos daraacute mayor conocimiento del problemay que a la vez sea faacutecilmente implementableEscribir una prueba se comienza escribiendo una prueba para el requisito Para ello el programador debeentender claramente las especificaciones de la funcionalidad que va a implementarVerificar que la prueba falla si la prueba no falla es porque el requisito ya estaba implementado o porque laprueba es erroacuteneaEscribir la implementacioacuten escribir el coacutedigo maacutes sencillo que haga que la prueba funcione Se usa la metaacuteforaHazlo faacutecil (Keep It Simple Stupid (KISS))Ejecutar las pruebas automatizadas verificar si todo el conjunto de pruebas funciona correctamenteRefactorizacioacuten el paso final es la refactorizacioacuten que utilizaremos normalmente para eliminar coacutedigo duplicado ydejar nuestro coacutedigo maacutes limpio y legibleActualizacioacuten de la lista de requisitos se actualiza la lista de requisitos tachando el requisito implementadoAsimismo se agregan requisitos que se hayan visto como necesarios durante este ciclo y se agreganrequerimientos de disentildeo por ejemplo que una funcionalidad esteacute desacoplada de otra
Seguimos escribiendo nuestro coacutedigo escribiendo un nuevo test En este caso probamos que el ConversorEuros escapaz de recibir un paraacutemetro de entrada y convertirlo a pesetas
Vemos que nuestro test esta marcado con red flag ya que el meacutetodo no esta declarado en ConversoEuros Realizamoslas modificaciones oportunas en nuestro coacutedigo
Y la implementacioacuten
A continuacioacuten ejecutamos los test Product gt Test
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 812
Podemos comprobar que el nuevo test falla con lo que continuamos con el siguiente paso en flujo de TDD yrefactorizamos nuestro coacutedigo para que la prueba pase satisfactoriamente (green flag)
Volvemos a lanzar los tests y voilaacute los tests se han ejecutado satisfactoriamente (green flag)
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 912
Asiacute podriacuteamos seguir escribiendo los tests y por tanto disentildeando y escribiendo el coacutedigo de nuestra aplicacioacuten para cadauna de las piezas que la conforma Esto es un ejemplo y por eso no voy a incluir en el tutorial los tests del resto de laspiezas que conforman la app como podriacutea ser los tests para el ViewController Sin embargo es importante que sepamosque asserts disponemos para validar el resultado de nuestro coacutedigo
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1012
Os dejo el enlace a la documentacioacuten oficial
5 Alternativas OCUnit y complementos
En este punto comentareacute brevemente algunas alternativas para OCUnit y tambieacuten un complemento indispensable comoOCMock para poder probar nuestras aplicaciones Apple
1 shy Google Toolkit for Mac el kit de herramientas de Google para Mac (GTM) esta lleno de utilidades interesantesy uacutetiles que aumentan las capacidades de prueba para iOS Las unidades descritas en GTM Testing soacutelo es unade sus caracteriacutesticas GTM nos proporciona una coleccioacuten de macros adicionales que permiten entre otras cosasque los meacutetodos de prueba sean maacutes cortos y maacutes descriptivos de lo que son cuando se escribe para los test conOCUnit Tambieacuten proporciona mock object para verificar que los mensajes de registro coincide con lo que cabriacuteaesperar y cuenta con categoriacuteas para las pruebas de graacuteficos e imaacutegenes
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1112
2 shy GHUnit El marco GHUnit estaacute disentildeado con OCUnit y Google compatibilidad Toolkit en mente De hecho esposible tomar conjuntos de pruebas escritas para cualquier framework de pruebas y utilizarlos en GHUnit sinmodificaciones La principal caracteriacutestica de GHUnit es que posee un frontend personalizado tanto para Mac yiOS que proporciona la capacidad de filtrar los resultados de pruebas basadas en palabras clave y ofrece unmayor control sobre la presentacioacuten de los resultados de las pruebas que Xcode permite Originalmente seejecuta en una aplicacioacuten lo que hace maacutes faacutecil depurar las pruebas unitarias de lo que es posible con OCUnit ElGHUnit GUI para iOS se muestra en siguiente imagen
3 shy OCMock OCMock es un framework para la creacioacuten sencilla de objetos simulados Utiliza las capacidades de
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1212
Esta obra estaacute licenciada bajo licencia Creative Commons de ReconocimientoshyNo comercialshySin obras derivadas 25
PUSH THIS Page Pushers Community Help
shyshyshyshyno clicks + + + + + + + +
0 people brought clicks to this page
powered by karmacracy
Share | 0
raquo Registrate y accede a esta y otras ventajas laquo
Aniacutemate y comeacutentanos lo que pienses sobre este TUTORIAL
introspeccioacuten de ObjectiveshyC en tiempo de ejecucioacuten para crear automaacuteticamente objetos simulados que puedensustituir a las instancias de los objetos reales Al usar mocks en nuestros tests crearemos objetos indicando queacutemeacutetodos pueden ser llamados cuaacuteles deben ser los paraacutemetros y el valor que deben ser devueltos En la fase deverificacioacuten evaluaraacute la llamada a los meacutetodos previstos (y que no ejecutoacute nada mas) con los paraacutemetrosconfigurados previamente Este es un complemento imprescindible para el desarrollo de aplicaciones basados enpruebas (TDD)
6 Conclusiones
La conclusioacuten no tenemos excusa para no probar nuestros desarrollos en la plataforma de la manzanita dando un valorantildeadiado a las misma y a los usuarios que la utilicen ya que nuestra aplicacioacuten seraacute mucho maacutes fiable al haber sidodisentildeada mediante TDD
Espero que este tutorial os haya sido de ayuda Un saludo
Sauacutel Garciacutea Diacuteazsgdiazautentiacom
A continuacioacuten puedes evaluarlo
Regiacutestrate para evaluarlo
Por favor vota +1 o compaacutertelo si te parecioacute interesante
Copyright 2003shy2013 copy All Rights Reserved | Texto legal y condiciones de uso | Banners | Powered by Autentia | Contacto
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 312
6 shy Pulsamos finish
Desde el navegador podemos ver el nuevo target en la jerarquiacutea del proyecto
32 Configuracioacuten Test Loacutegicos
Si antildeadimos un nuevo target para los tests unitarios tal y como os he descrito en el punto anterior ya estaacute configuradopara realizar pruebas loacutegicas Para realizar la configuracioacuten manualmente podemos seguir los siguientes pasos
1 shy Desde el editor de proyecto seleccionamos el target a configurar y pulsamos Build settings
2 shy Desde el panel Build settings click All
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 412
3 shy En el campo de buacutesqueda escribimos bundle loader
4 shy Si la propiedad bundle loader aparece en negrita la eliminamos
5 shy En el campo de buacutesqueda escribimos test host
6 shy Si la propiedad test host aparece en negrita la eliminamos
33 Configuracioacuten Test de Aplicacioacuten
Si hemos creado un proyecto marcando la opcioacuten include unit test la unidad de tests ya estaacute configurada para realizarpruebas unitarias de aplicacioacuten De cualquier otro modo para configurar la unidad de test podemos seguir los siguientespasos
1 y 2 shy Exactamente igual que en el punto anterior Con la unidad de pruebas que queremos configurar seleccionadaabrimos el panel Build settings
3 shy Asignamos valor a la propiedades de la seccioacuten bundle loader en funcioacuten de la plataforma
iOS $(BUILT_PRODUCTS_DIR)appMac $(BUILT_PRODUCTS_DIR)appContentsMacOS
donde appshyname es el nombre de nuestra aplicacioacuten
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 512
4 shy Asignamos valor a las propiedades de la seccioacuten test host a $(BUNDLE_LOADER)
5 shy Hacemos dependiente el target para las pruebas del target en el que se basa nuestra aplicacioacuten
6 shy Nos aseguramos que el target para las pruebas esta correctamente asociado al schema de nuestra aplicacioacutenDesde el panel de edicioacuten editamos el schema de nuestra aplicacioacuten
Seleccionamos la opcioacuten Test del menuacute lateral y tenemos que ver la unidad de pruebas asociada
4 Primeros Tests Unitarios
El primer paso a la hora de escribir pruebas unitarias y por tanto el primer paso para comenzar el disentildeo de nuestraaplicacioacuten es identificar los requisitos es decir cuaacutel es la necesidad de nuestro software Despueacutes podemos decidirque coacutedigo nos gustariacutea usar para satisfacer la necesidad requerida Este coacutedigo es el que usaremos para conformar elcuerpo de nuestro test Para poder seguir el tutorial maacutes coacutemodamente os dejo aquiacute los fuentes
Una caracteriacutestica importante de cualquier test unitario es que debe ser repetible La ejecucioacuten de los testsindependientemente del entorno en el que se ejecuten debe terminar satisfactoriamente si el coacutedigo de la prueba escorrecto y fallar en caso contrario Los factores ambientales externos tales como la configuracioacuten del entorno en el quese ejecutan las pruebas o la integracioacuten de software externo como base de datos no deben influir en la en la correctaejecucioacuten de los mismos
El ejemplo propuesto para el tutorial es una aplicacioacuten sencilla que convierte Euros a pesetas llamadme nostaacutelgico siquereacuteis shy)
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 612
No nos daraacuten el premio al mejor disentildeo del antildeo pero como ejemplo seraacute suficiente Recibimos por tanto un dato deentrada que seraacute convertido y devolveremos un dato de salida Tendremos una clase encargado de realizar el negociode nuestra app y devolver el resultado de la operacioacuten realizada Lo primero que voy a probar es que la clase tiene lapropiedad en la que se retornaraacute el resultado
Loacutegicamente tenemos errores de compilacioacuten ya que todaviacutea no existe nuestra clase ConversorEuros Recordad queestamos haciendo TDD y primero vamos escribiendo los test lo que nos iraacute guiando para escribir nuestro coacutedigo Ahoranuestro test no funciona (red flag) El siguiente paso es refactorizar nuestro coacutedigo para que el test pasesatisfactoriamente (green flag) Creamos entonces ConversorEuros e incluimos en la declaracioacuten la propiedad valuePts
Quedando la implementacioacuten
Desde el test veremos que los errores de compilacioacuten se han solucionado asiacute que vamos a ejecutar el test Para ello solotenemos que pulsar Product gt Test El resultado de la ejecucioacuten se muestra en la vista de Log del menu lateral deXcode
De manera sencilla hemos seguido el flujo de trabajo de TDD
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 712
Elegir un requisito se elige de una lista el requisitos el que se creeacute que nos daraacute mayor conocimiento del problemay que a la vez sea faacutecilmente implementableEscribir una prueba se comienza escribiendo una prueba para el requisito Para ello el programador debeentender claramente las especificaciones de la funcionalidad que va a implementarVerificar que la prueba falla si la prueba no falla es porque el requisito ya estaba implementado o porque laprueba es erroacuteneaEscribir la implementacioacuten escribir el coacutedigo maacutes sencillo que haga que la prueba funcione Se usa la metaacuteforaHazlo faacutecil (Keep It Simple Stupid (KISS))Ejecutar las pruebas automatizadas verificar si todo el conjunto de pruebas funciona correctamenteRefactorizacioacuten el paso final es la refactorizacioacuten que utilizaremos normalmente para eliminar coacutedigo duplicado ydejar nuestro coacutedigo maacutes limpio y legibleActualizacioacuten de la lista de requisitos se actualiza la lista de requisitos tachando el requisito implementadoAsimismo se agregan requisitos que se hayan visto como necesarios durante este ciclo y se agreganrequerimientos de disentildeo por ejemplo que una funcionalidad esteacute desacoplada de otra
Seguimos escribiendo nuestro coacutedigo escribiendo un nuevo test En este caso probamos que el ConversorEuros escapaz de recibir un paraacutemetro de entrada y convertirlo a pesetas
Vemos que nuestro test esta marcado con red flag ya que el meacutetodo no esta declarado en ConversoEuros Realizamoslas modificaciones oportunas en nuestro coacutedigo
Y la implementacioacuten
A continuacioacuten ejecutamos los test Product gt Test
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 812
Podemos comprobar que el nuevo test falla con lo que continuamos con el siguiente paso en flujo de TDD yrefactorizamos nuestro coacutedigo para que la prueba pase satisfactoriamente (green flag)
Volvemos a lanzar los tests y voilaacute los tests se han ejecutado satisfactoriamente (green flag)
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 912
Asiacute podriacuteamos seguir escribiendo los tests y por tanto disentildeando y escribiendo el coacutedigo de nuestra aplicacioacuten para cadauna de las piezas que la conforma Esto es un ejemplo y por eso no voy a incluir en el tutorial los tests del resto de laspiezas que conforman la app como podriacutea ser los tests para el ViewController Sin embargo es importante que sepamosque asserts disponemos para validar el resultado de nuestro coacutedigo
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1012
Os dejo el enlace a la documentacioacuten oficial
5 Alternativas OCUnit y complementos
En este punto comentareacute brevemente algunas alternativas para OCUnit y tambieacuten un complemento indispensable comoOCMock para poder probar nuestras aplicaciones Apple
1 shy Google Toolkit for Mac el kit de herramientas de Google para Mac (GTM) esta lleno de utilidades interesantesy uacutetiles que aumentan las capacidades de prueba para iOS Las unidades descritas en GTM Testing soacutelo es unade sus caracteriacutesticas GTM nos proporciona una coleccioacuten de macros adicionales que permiten entre otras cosasque los meacutetodos de prueba sean maacutes cortos y maacutes descriptivos de lo que son cuando se escribe para los test conOCUnit Tambieacuten proporciona mock object para verificar que los mensajes de registro coincide con lo que cabriacuteaesperar y cuenta con categoriacuteas para las pruebas de graacuteficos e imaacutegenes
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1112
2 shy GHUnit El marco GHUnit estaacute disentildeado con OCUnit y Google compatibilidad Toolkit en mente De hecho esposible tomar conjuntos de pruebas escritas para cualquier framework de pruebas y utilizarlos en GHUnit sinmodificaciones La principal caracteriacutestica de GHUnit es que posee un frontend personalizado tanto para Mac yiOS que proporciona la capacidad de filtrar los resultados de pruebas basadas en palabras clave y ofrece unmayor control sobre la presentacioacuten de los resultados de las pruebas que Xcode permite Originalmente seejecuta en una aplicacioacuten lo que hace maacutes faacutecil depurar las pruebas unitarias de lo que es posible con OCUnit ElGHUnit GUI para iOS se muestra en siguiente imagen
3 shy OCMock OCMock es un framework para la creacioacuten sencilla de objetos simulados Utiliza las capacidades de
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1212
Esta obra estaacute licenciada bajo licencia Creative Commons de ReconocimientoshyNo comercialshySin obras derivadas 25
PUSH THIS Page Pushers Community Help
shyshyshyshyno clicks + + + + + + + +
0 people brought clicks to this page
powered by karmacracy
Share | 0
raquo Registrate y accede a esta y otras ventajas laquo
Aniacutemate y comeacutentanos lo que pienses sobre este TUTORIAL
introspeccioacuten de ObjectiveshyC en tiempo de ejecucioacuten para crear automaacuteticamente objetos simulados que puedensustituir a las instancias de los objetos reales Al usar mocks en nuestros tests crearemos objetos indicando queacutemeacutetodos pueden ser llamados cuaacuteles deben ser los paraacutemetros y el valor que deben ser devueltos En la fase deverificacioacuten evaluaraacute la llamada a los meacutetodos previstos (y que no ejecutoacute nada mas) con los paraacutemetrosconfigurados previamente Este es un complemento imprescindible para el desarrollo de aplicaciones basados enpruebas (TDD)
6 Conclusiones
La conclusioacuten no tenemos excusa para no probar nuestros desarrollos en la plataforma de la manzanita dando un valorantildeadiado a las misma y a los usuarios que la utilicen ya que nuestra aplicacioacuten seraacute mucho maacutes fiable al haber sidodisentildeada mediante TDD
Espero que este tutorial os haya sido de ayuda Un saludo
Sauacutel Garciacutea Diacuteazsgdiazautentiacom
A continuacioacuten puedes evaluarlo
Regiacutestrate para evaluarlo
Por favor vota +1 o compaacutertelo si te parecioacute interesante
Copyright 2003shy2013 copy All Rights Reserved | Texto legal y condiciones de uso | Banners | Powered by Autentia | Contacto
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 412
3 shy En el campo de buacutesqueda escribimos bundle loader
4 shy Si la propiedad bundle loader aparece en negrita la eliminamos
5 shy En el campo de buacutesqueda escribimos test host
6 shy Si la propiedad test host aparece en negrita la eliminamos
33 Configuracioacuten Test de Aplicacioacuten
Si hemos creado un proyecto marcando la opcioacuten include unit test la unidad de tests ya estaacute configurada para realizarpruebas unitarias de aplicacioacuten De cualquier otro modo para configurar la unidad de test podemos seguir los siguientespasos
1 y 2 shy Exactamente igual que en el punto anterior Con la unidad de pruebas que queremos configurar seleccionadaabrimos el panel Build settings
3 shy Asignamos valor a la propiedades de la seccioacuten bundle loader en funcioacuten de la plataforma
iOS $(BUILT_PRODUCTS_DIR)appMac $(BUILT_PRODUCTS_DIR)appContentsMacOS
donde appshyname es el nombre de nuestra aplicacioacuten
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 512
4 shy Asignamos valor a las propiedades de la seccioacuten test host a $(BUNDLE_LOADER)
5 shy Hacemos dependiente el target para las pruebas del target en el que se basa nuestra aplicacioacuten
6 shy Nos aseguramos que el target para las pruebas esta correctamente asociado al schema de nuestra aplicacioacutenDesde el panel de edicioacuten editamos el schema de nuestra aplicacioacuten
Seleccionamos la opcioacuten Test del menuacute lateral y tenemos que ver la unidad de pruebas asociada
4 Primeros Tests Unitarios
El primer paso a la hora de escribir pruebas unitarias y por tanto el primer paso para comenzar el disentildeo de nuestraaplicacioacuten es identificar los requisitos es decir cuaacutel es la necesidad de nuestro software Despueacutes podemos decidirque coacutedigo nos gustariacutea usar para satisfacer la necesidad requerida Este coacutedigo es el que usaremos para conformar elcuerpo de nuestro test Para poder seguir el tutorial maacutes coacutemodamente os dejo aquiacute los fuentes
Una caracteriacutestica importante de cualquier test unitario es que debe ser repetible La ejecucioacuten de los testsindependientemente del entorno en el que se ejecuten debe terminar satisfactoriamente si el coacutedigo de la prueba escorrecto y fallar en caso contrario Los factores ambientales externos tales como la configuracioacuten del entorno en el quese ejecutan las pruebas o la integracioacuten de software externo como base de datos no deben influir en la en la correctaejecucioacuten de los mismos
El ejemplo propuesto para el tutorial es una aplicacioacuten sencilla que convierte Euros a pesetas llamadme nostaacutelgico siquereacuteis shy)
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 612
No nos daraacuten el premio al mejor disentildeo del antildeo pero como ejemplo seraacute suficiente Recibimos por tanto un dato deentrada que seraacute convertido y devolveremos un dato de salida Tendremos una clase encargado de realizar el negociode nuestra app y devolver el resultado de la operacioacuten realizada Lo primero que voy a probar es que la clase tiene lapropiedad en la que se retornaraacute el resultado
Loacutegicamente tenemos errores de compilacioacuten ya que todaviacutea no existe nuestra clase ConversorEuros Recordad queestamos haciendo TDD y primero vamos escribiendo los test lo que nos iraacute guiando para escribir nuestro coacutedigo Ahoranuestro test no funciona (red flag) El siguiente paso es refactorizar nuestro coacutedigo para que el test pasesatisfactoriamente (green flag) Creamos entonces ConversorEuros e incluimos en la declaracioacuten la propiedad valuePts
Quedando la implementacioacuten
Desde el test veremos que los errores de compilacioacuten se han solucionado asiacute que vamos a ejecutar el test Para ello solotenemos que pulsar Product gt Test El resultado de la ejecucioacuten se muestra en la vista de Log del menu lateral deXcode
De manera sencilla hemos seguido el flujo de trabajo de TDD
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 712
Elegir un requisito se elige de una lista el requisitos el que se creeacute que nos daraacute mayor conocimiento del problemay que a la vez sea faacutecilmente implementableEscribir una prueba se comienza escribiendo una prueba para el requisito Para ello el programador debeentender claramente las especificaciones de la funcionalidad que va a implementarVerificar que la prueba falla si la prueba no falla es porque el requisito ya estaba implementado o porque laprueba es erroacuteneaEscribir la implementacioacuten escribir el coacutedigo maacutes sencillo que haga que la prueba funcione Se usa la metaacuteforaHazlo faacutecil (Keep It Simple Stupid (KISS))Ejecutar las pruebas automatizadas verificar si todo el conjunto de pruebas funciona correctamenteRefactorizacioacuten el paso final es la refactorizacioacuten que utilizaremos normalmente para eliminar coacutedigo duplicado ydejar nuestro coacutedigo maacutes limpio y legibleActualizacioacuten de la lista de requisitos se actualiza la lista de requisitos tachando el requisito implementadoAsimismo se agregan requisitos que se hayan visto como necesarios durante este ciclo y se agreganrequerimientos de disentildeo por ejemplo que una funcionalidad esteacute desacoplada de otra
Seguimos escribiendo nuestro coacutedigo escribiendo un nuevo test En este caso probamos que el ConversorEuros escapaz de recibir un paraacutemetro de entrada y convertirlo a pesetas
Vemos que nuestro test esta marcado con red flag ya que el meacutetodo no esta declarado en ConversoEuros Realizamoslas modificaciones oportunas en nuestro coacutedigo
Y la implementacioacuten
A continuacioacuten ejecutamos los test Product gt Test
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 812
Podemos comprobar que el nuevo test falla con lo que continuamos con el siguiente paso en flujo de TDD yrefactorizamos nuestro coacutedigo para que la prueba pase satisfactoriamente (green flag)
Volvemos a lanzar los tests y voilaacute los tests se han ejecutado satisfactoriamente (green flag)
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 912
Asiacute podriacuteamos seguir escribiendo los tests y por tanto disentildeando y escribiendo el coacutedigo de nuestra aplicacioacuten para cadauna de las piezas que la conforma Esto es un ejemplo y por eso no voy a incluir en el tutorial los tests del resto de laspiezas que conforman la app como podriacutea ser los tests para el ViewController Sin embargo es importante que sepamosque asserts disponemos para validar el resultado de nuestro coacutedigo
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1012
Os dejo el enlace a la documentacioacuten oficial
5 Alternativas OCUnit y complementos
En este punto comentareacute brevemente algunas alternativas para OCUnit y tambieacuten un complemento indispensable comoOCMock para poder probar nuestras aplicaciones Apple
1 shy Google Toolkit for Mac el kit de herramientas de Google para Mac (GTM) esta lleno de utilidades interesantesy uacutetiles que aumentan las capacidades de prueba para iOS Las unidades descritas en GTM Testing soacutelo es unade sus caracteriacutesticas GTM nos proporciona una coleccioacuten de macros adicionales que permiten entre otras cosasque los meacutetodos de prueba sean maacutes cortos y maacutes descriptivos de lo que son cuando se escribe para los test conOCUnit Tambieacuten proporciona mock object para verificar que los mensajes de registro coincide con lo que cabriacuteaesperar y cuenta con categoriacuteas para las pruebas de graacuteficos e imaacutegenes
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1112
2 shy GHUnit El marco GHUnit estaacute disentildeado con OCUnit y Google compatibilidad Toolkit en mente De hecho esposible tomar conjuntos de pruebas escritas para cualquier framework de pruebas y utilizarlos en GHUnit sinmodificaciones La principal caracteriacutestica de GHUnit es que posee un frontend personalizado tanto para Mac yiOS que proporciona la capacidad de filtrar los resultados de pruebas basadas en palabras clave y ofrece unmayor control sobre la presentacioacuten de los resultados de las pruebas que Xcode permite Originalmente seejecuta en una aplicacioacuten lo que hace maacutes faacutecil depurar las pruebas unitarias de lo que es posible con OCUnit ElGHUnit GUI para iOS se muestra en siguiente imagen
3 shy OCMock OCMock es un framework para la creacioacuten sencilla de objetos simulados Utiliza las capacidades de
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1212
Esta obra estaacute licenciada bajo licencia Creative Commons de ReconocimientoshyNo comercialshySin obras derivadas 25
PUSH THIS Page Pushers Community Help
shyshyshyshyno clicks + + + + + + + +
0 people brought clicks to this page
powered by karmacracy
Share | 0
raquo Registrate y accede a esta y otras ventajas laquo
Aniacutemate y comeacutentanos lo que pienses sobre este TUTORIAL
introspeccioacuten de ObjectiveshyC en tiempo de ejecucioacuten para crear automaacuteticamente objetos simulados que puedensustituir a las instancias de los objetos reales Al usar mocks en nuestros tests crearemos objetos indicando queacutemeacutetodos pueden ser llamados cuaacuteles deben ser los paraacutemetros y el valor que deben ser devueltos En la fase deverificacioacuten evaluaraacute la llamada a los meacutetodos previstos (y que no ejecutoacute nada mas) con los paraacutemetrosconfigurados previamente Este es un complemento imprescindible para el desarrollo de aplicaciones basados enpruebas (TDD)
6 Conclusiones
La conclusioacuten no tenemos excusa para no probar nuestros desarrollos en la plataforma de la manzanita dando un valorantildeadiado a las misma y a los usuarios que la utilicen ya que nuestra aplicacioacuten seraacute mucho maacutes fiable al haber sidodisentildeada mediante TDD
Espero que este tutorial os haya sido de ayuda Un saludo
Sauacutel Garciacutea Diacuteazsgdiazautentiacom
A continuacioacuten puedes evaluarlo
Regiacutestrate para evaluarlo
Por favor vota +1 o compaacutertelo si te parecioacute interesante
Copyright 2003shy2013 copy All Rights Reserved | Texto legal y condiciones de uso | Banners | Powered by Autentia | Contacto
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 512
4 shy Asignamos valor a las propiedades de la seccioacuten test host a $(BUNDLE_LOADER)
5 shy Hacemos dependiente el target para las pruebas del target en el que se basa nuestra aplicacioacuten
6 shy Nos aseguramos que el target para las pruebas esta correctamente asociado al schema de nuestra aplicacioacutenDesde el panel de edicioacuten editamos el schema de nuestra aplicacioacuten
Seleccionamos la opcioacuten Test del menuacute lateral y tenemos que ver la unidad de pruebas asociada
4 Primeros Tests Unitarios
El primer paso a la hora de escribir pruebas unitarias y por tanto el primer paso para comenzar el disentildeo de nuestraaplicacioacuten es identificar los requisitos es decir cuaacutel es la necesidad de nuestro software Despueacutes podemos decidirque coacutedigo nos gustariacutea usar para satisfacer la necesidad requerida Este coacutedigo es el que usaremos para conformar elcuerpo de nuestro test Para poder seguir el tutorial maacutes coacutemodamente os dejo aquiacute los fuentes
Una caracteriacutestica importante de cualquier test unitario es que debe ser repetible La ejecucioacuten de los testsindependientemente del entorno en el que se ejecuten debe terminar satisfactoriamente si el coacutedigo de la prueba escorrecto y fallar en caso contrario Los factores ambientales externos tales como la configuracioacuten del entorno en el quese ejecutan las pruebas o la integracioacuten de software externo como base de datos no deben influir en la en la correctaejecucioacuten de los mismos
El ejemplo propuesto para el tutorial es una aplicacioacuten sencilla que convierte Euros a pesetas llamadme nostaacutelgico siquereacuteis shy)
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 612
No nos daraacuten el premio al mejor disentildeo del antildeo pero como ejemplo seraacute suficiente Recibimos por tanto un dato deentrada que seraacute convertido y devolveremos un dato de salida Tendremos una clase encargado de realizar el negociode nuestra app y devolver el resultado de la operacioacuten realizada Lo primero que voy a probar es que la clase tiene lapropiedad en la que se retornaraacute el resultado
Loacutegicamente tenemos errores de compilacioacuten ya que todaviacutea no existe nuestra clase ConversorEuros Recordad queestamos haciendo TDD y primero vamos escribiendo los test lo que nos iraacute guiando para escribir nuestro coacutedigo Ahoranuestro test no funciona (red flag) El siguiente paso es refactorizar nuestro coacutedigo para que el test pasesatisfactoriamente (green flag) Creamos entonces ConversorEuros e incluimos en la declaracioacuten la propiedad valuePts
Quedando la implementacioacuten
Desde el test veremos que los errores de compilacioacuten se han solucionado asiacute que vamos a ejecutar el test Para ello solotenemos que pulsar Product gt Test El resultado de la ejecucioacuten se muestra en la vista de Log del menu lateral deXcode
De manera sencilla hemos seguido el flujo de trabajo de TDD
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 712
Elegir un requisito se elige de una lista el requisitos el que se creeacute que nos daraacute mayor conocimiento del problemay que a la vez sea faacutecilmente implementableEscribir una prueba se comienza escribiendo una prueba para el requisito Para ello el programador debeentender claramente las especificaciones de la funcionalidad que va a implementarVerificar que la prueba falla si la prueba no falla es porque el requisito ya estaba implementado o porque laprueba es erroacuteneaEscribir la implementacioacuten escribir el coacutedigo maacutes sencillo que haga que la prueba funcione Se usa la metaacuteforaHazlo faacutecil (Keep It Simple Stupid (KISS))Ejecutar las pruebas automatizadas verificar si todo el conjunto de pruebas funciona correctamenteRefactorizacioacuten el paso final es la refactorizacioacuten que utilizaremos normalmente para eliminar coacutedigo duplicado ydejar nuestro coacutedigo maacutes limpio y legibleActualizacioacuten de la lista de requisitos se actualiza la lista de requisitos tachando el requisito implementadoAsimismo se agregan requisitos que se hayan visto como necesarios durante este ciclo y se agreganrequerimientos de disentildeo por ejemplo que una funcionalidad esteacute desacoplada de otra
Seguimos escribiendo nuestro coacutedigo escribiendo un nuevo test En este caso probamos que el ConversorEuros escapaz de recibir un paraacutemetro de entrada y convertirlo a pesetas
Vemos que nuestro test esta marcado con red flag ya que el meacutetodo no esta declarado en ConversoEuros Realizamoslas modificaciones oportunas en nuestro coacutedigo
Y la implementacioacuten
A continuacioacuten ejecutamos los test Product gt Test
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 812
Podemos comprobar que el nuevo test falla con lo que continuamos con el siguiente paso en flujo de TDD yrefactorizamos nuestro coacutedigo para que la prueba pase satisfactoriamente (green flag)
Volvemos a lanzar los tests y voilaacute los tests se han ejecutado satisfactoriamente (green flag)
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 912
Asiacute podriacuteamos seguir escribiendo los tests y por tanto disentildeando y escribiendo el coacutedigo de nuestra aplicacioacuten para cadauna de las piezas que la conforma Esto es un ejemplo y por eso no voy a incluir en el tutorial los tests del resto de laspiezas que conforman la app como podriacutea ser los tests para el ViewController Sin embargo es importante que sepamosque asserts disponemos para validar el resultado de nuestro coacutedigo
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1012
Os dejo el enlace a la documentacioacuten oficial
5 Alternativas OCUnit y complementos
En este punto comentareacute brevemente algunas alternativas para OCUnit y tambieacuten un complemento indispensable comoOCMock para poder probar nuestras aplicaciones Apple
1 shy Google Toolkit for Mac el kit de herramientas de Google para Mac (GTM) esta lleno de utilidades interesantesy uacutetiles que aumentan las capacidades de prueba para iOS Las unidades descritas en GTM Testing soacutelo es unade sus caracteriacutesticas GTM nos proporciona una coleccioacuten de macros adicionales que permiten entre otras cosasque los meacutetodos de prueba sean maacutes cortos y maacutes descriptivos de lo que son cuando se escribe para los test conOCUnit Tambieacuten proporciona mock object para verificar que los mensajes de registro coincide con lo que cabriacuteaesperar y cuenta con categoriacuteas para las pruebas de graacuteficos e imaacutegenes
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1112
2 shy GHUnit El marco GHUnit estaacute disentildeado con OCUnit y Google compatibilidad Toolkit en mente De hecho esposible tomar conjuntos de pruebas escritas para cualquier framework de pruebas y utilizarlos en GHUnit sinmodificaciones La principal caracteriacutestica de GHUnit es que posee un frontend personalizado tanto para Mac yiOS que proporciona la capacidad de filtrar los resultados de pruebas basadas en palabras clave y ofrece unmayor control sobre la presentacioacuten de los resultados de las pruebas que Xcode permite Originalmente seejecuta en una aplicacioacuten lo que hace maacutes faacutecil depurar las pruebas unitarias de lo que es posible con OCUnit ElGHUnit GUI para iOS se muestra en siguiente imagen
3 shy OCMock OCMock es un framework para la creacioacuten sencilla de objetos simulados Utiliza las capacidades de
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1212
Esta obra estaacute licenciada bajo licencia Creative Commons de ReconocimientoshyNo comercialshySin obras derivadas 25
PUSH THIS Page Pushers Community Help
shyshyshyshyno clicks + + + + + + + +
0 people brought clicks to this page
powered by karmacracy
Share | 0
raquo Registrate y accede a esta y otras ventajas laquo
Aniacutemate y comeacutentanos lo que pienses sobre este TUTORIAL
introspeccioacuten de ObjectiveshyC en tiempo de ejecucioacuten para crear automaacuteticamente objetos simulados que puedensustituir a las instancias de los objetos reales Al usar mocks en nuestros tests crearemos objetos indicando queacutemeacutetodos pueden ser llamados cuaacuteles deben ser los paraacutemetros y el valor que deben ser devueltos En la fase deverificacioacuten evaluaraacute la llamada a los meacutetodos previstos (y que no ejecutoacute nada mas) con los paraacutemetrosconfigurados previamente Este es un complemento imprescindible para el desarrollo de aplicaciones basados enpruebas (TDD)
6 Conclusiones
La conclusioacuten no tenemos excusa para no probar nuestros desarrollos en la plataforma de la manzanita dando un valorantildeadiado a las misma y a los usuarios que la utilicen ya que nuestra aplicacioacuten seraacute mucho maacutes fiable al haber sidodisentildeada mediante TDD
Espero que este tutorial os haya sido de ayuda Un saludo
Sauacutel Garciacutea Diacuteazsgdiazautentiacom
A continuacioacuten puedes evaluarlo
Regiacutestrate para evaluarlo
Por favor vota +1 o compaacutertelo si te parecioacute interesante
Copyright 2003shy2013 copy All Rights Reserved | Texto legal y condiciones de uso | Banners | Powered by Autentia | Contacto
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 612
No nos daraacuten el premio al mejor disentildeo del antildeo pero como ejemplo seraacute suficiente Recibimos por tanto un dato deentrada que seraacute convertido y devolveremos un dato de salida Tendremos una clase encargado de realizar el negociode nuestra app y devolver el resultado de la operacioacuten realizada Lo primero que voy a probar es que la clase tiene lapropiedad en la que se retornaraacute el resultado
Loacutegicamente tenemos errores de compilacioacuten ya que todaviacutea no existe nuestra clase ConversorEuros Recordad queestamos haciendo TDD y primero vamos escribiendo los test lo que nos iraacute guiando para escribir nuestro coacutedigo Ahoranuestro test no funciona (red flag) El siguiente paso es refactorizar nuestro coacutedigo para que el test pasesatisfactoriamente (green flag) Creamos entonces ConversorEuros e incluimos en la declaracioacuten la propiedad valuePts
Quedando la implementacioacuten
Desde el test veremos que los errores de compilacioacuten se han solucionado asiacute que vamos a ejecutar el test Para ello solotenemos que pulsar Product gt Test El resultado de la ejecucioacuten se muestra en la vista de Log del menu lateral deXcode
De manera sencilla hemos seguido el flujo de trabajo de TDD
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 712
Elegir un requisito se elige de una lista el requisitos el que se creeacute que nos daraacute mayor conocimiento del problemay que a la vez sea faacutecilmente implementableEscribir una prueba se comienza escribiendo una prueba para el requisito Para ello el programador debeentender claramente las especificaciones de la funcionalidad que va a implementarVerificar que la prueba falla si la prueba no falla es porque el requisito ya estaba implementado o porque laprueba es erroacuteneaEscribir la implementacioacuten escribir el coacutedigo maacutes sencillo que haga que la prueba funcione Se usa la metaacuteforaHazlo faacutecil (Keep It Simple Stupid (KISS))Ejecutar las pruebas automatizadas verificar si todo el conjunto de pruebas funciona correctamenteRefactorizacioacuten el paso final es la refactorizacioacuten que utilizaremos normalmente para eliminar coacutedigo duplicado ydejar nuestro coacutedigo maacutes limpio y legibleActualizacioacuten de la lista de requisitos se actualiza la lista de requisitos tachando el requisito implementadoAsimismo se agregan requisitos que se hayan visto como necesarios durante este ciclo y se agreganrequerimientos de disentildeo por ejemplo que una funcionalidad esteacute desacoplada de otra
Seguimos escribiendo nuestro coacutedigo escribiendo un nuevo test En este caso probamos que el ConversorEuros escapaz de recibir un paraacutemetro de entrada y convertirlo a pesetas
Vemos que nuestro test esta marcado con red flag ya que el meacutetodo no esta declarado en ConversoEuros Realizamoslas modificaciones oportunas en nuestro coacutedigo
Y la implementacioacuten
A continuacioacuten ejecutamos los test Product gt Test
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 812
Podemos comprobar que el nuevo test falla con lo que continuamos con el siguiente paso en flujo de TDD yrefactorizamos nuestro coacutedigo para que la prueba pase satisfactoriamente (green flag)
Volvemos a lanzar los tests y voilaacute los tests se han ejecutado satisfactoriamente (green flag)
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 912
Asiacute podriacuteamos seguir escribiendo los tests y por tanto disentildeando y escribiendo el coacutedigo de nuestra aplicacioacuten para cadauna de las piezas que la conforma Esto es un ejemplo y por eso no voy a incluir en el tutorial los tests del resto de laspiezas que conforman la app como podriacutea ser los tests para el ViewController Sin embargo es importante que sepamosque asserts disponemos para validar el resultado de nuestro coacutedigo
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1012
Os dejo el enlace a la documentacioacuten oficial
5 Alternativas OCUnit y complementos
En este punto comentareacute brevemente algunas alternativas para OCUnit y tambieacuten un complemento indispensable comoOCMock para poder probar nuestras aplicaciones Apple
1 shy Google Toolkit for Mac el kit de herramientas de Google para Mac (GTM) esta lleno de utilidades interesantesy uacutetiles que aumentan las capacidades de prueba para iOS Las unidades descritas en GTM Testing soacutelo es unade sus caracteriacutesticas GTM nos proporciona una coleccioacuten de macros adicionales que permiten entre otras cosasque los meacutetodos de prueba sean maacutes cortos y maacutes descriptivos de lo que son cuando se escribe para los test conOCUnit Tambieacuten proporciona mock object para verificar que los mensajes de registro coincide con lo que cabriacuteaesperar y cuenta con categoriacuteas para las pruebas de graacuteficos e imaacutegenes
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1112
2 shy GHUnit El marco GHUnit estaacute disentildeado con OCUnit y Google compatibilidad Toolkit en mente De hecho esposible tomar conjuntos de pruebas escritas para cualquier framework de pruebas y utilizarlos en GHUnit sinmodificaciones La principal caracteriacutestica de GHUnit es que posee un frontend personalizado tanto para Mac yiOS que proporciona la capacidad de filtrar los resultados de pruebas basadas en palabras clave y ofrece unmayor control sobre la presentacioacuten de los resultados de las pruebas que Xcode permite Originalmente seejecuta en una aplicacioacuten lo que hace maacutes faacutecil depurar las pruebas unitarias de lo que es posible con OCUnit ElGHUnit GUI para iOS se muestra en siguiente imagen
3 shy OCMock OCMock es un framework para la creacioacuten sencilla de objetos simulados Utiliza las capacidades de
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1212
Esta obra estaacute licenciada bajo licencia Creative Commons de ReconocimientoshyNo comercialshySin obras derivadas 25
PUSH THIS Page Pushers Community Help
shyshyshyshyno clicks + + + + + + + +
0 people brought clicks to this page
powered by karmacracy
Share | 0
raquo Registrate y accede a esta y otras ventajas laquo
Aniacutemate y comeacutentanos lo que pienses sobre este TUTORIAL
introspeccioacuten de ObjectiveshyC en tiempo de ejecucioacuten para crear automaacuteticamente objetos simulados que puedensustituir a las instancias de los objetos reales Al usar mocks en nuestros tests crearemos objetos indicando queacutemeacutetodos pueden ser llamados cuaacuteles deben ser los paraacutemetros y el valor que deben ser devueltos En la fase deverificacioacuten evaluaraacute la llamada a los meacutetodos previstos (y que no ejecutoacute nada mas) con los paraacutemetrosconfigurados previamente Este es un complemento imprescindible para el desarrollo de aplicaciones basados enpruebas (TDD)
6 Conclusiones
La conclusioacuten no tenemos excusa para no probar nuestros desarrollos en la plataforma de la manzanita dando un valorantildeadiado a las misma y a los usuarios que la utilicen ya que nuestra aplicacioacuten seraacute mucho maacutes fiable al haber sidodisentildeada mediante TDD
Espero que este tutorial os haya sido de ayuda Un saludo
Sauacutel Garciacutea Diacuteazsgdiazautentiacom
A continuacioacuten puedes evaluarlo
Regiacutestrate para evaluarlo
Por favor vota +1 o compaacutertelo si te parecioacute interesante
Copyright 2003shy2013 copy All Rights Reserved | Texto legal y condiciones de uso | Banners | Powered by Autentia | Contacto
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 712
Elegir un requisito se elige de una lista el requisitos el que se creeacute que nos daraacute mayor conocimiento del problemay que a la vez sea faacutecilmente implementableEscribir una prueba se comienza escribiendo una prueba para el requisito Para ello el programador debeentender claramente las especificaciones de la funcionalidad que va a implementarVerificar que la prueba falla si la prueba no falla es porque el requisito ya estaba implementado o porque laprueba es erroacuteneaEscribir la implementacioacuten escribir el coacutedigo maacutes sencillo que haga que la prueba funcione Se usa la metaacuteforaHazlo faacutecil (Keep It Simple Stupid (KISS))Ejecutar las pruebas automatizadas verificar si todo el conjunto de pruebas funciona correctamenteRefactorizacioacuten el paso final es la refactorizacioacuten que utilizaremos normalmente para eliminar coacutedigo duplicado ydejar nuestro coacutedigo maacutes limpio y legibleActualizacioacuten de la lista de requisitos se actualiza la lista de requisitos tachando el requisito implementadoAsimismo se agregan requisitos que se hayan visto como necesarios durante este ciclo y se agreganrequerimientos de disentildeo por ejemplo que una funcionalidad esteacute desacoplada de otra
Seguimos escribiendo nuestro coacutedigo escribiendo un nuevo test En este caso probamos que el ConversorEuros escapaz de recibir un paraacutemetro de entrada y convertirlo a pesetas
Vemos que nuestro test esta marcado con red flag ya que el meacutetodo no esta declarado en ConversoEuros Realizamoslas modificaciones oportunas en nuestro coacutedigo
Y la implementacioacuten
A continuacioacuten ejecutamos los test Product gt Test
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 812
Podemos comprobar que el nuevo test falla con lo que continuamos con el siguiente paso en flujo de TDD yrefactorizamos nuestro coacutedigo para que la prueba pase satisfactoriamente (green flag)
Volvemos a lanzar los tests y voilaacute los tests se han ejecutado satisfactoriamente (green flag)
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 912
Asiacute podriacuteamos seguir escribiendo los tests y por tanto disentildeando y escribiendo el coacutedigo de nuestra aplicacioacuten para cadauna de las piezas que la conforma Esto es un ejemplo y por eso no voy a incluir en el tutorial los tests del resto de laspiezas que conforman la app como podriacutea ser los tests para el ViewController Sin embargo es importante que sepamosque asserts disponemos para validar el resultado de nuestro coacutedigo
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1012
Os dejo el enlace a la documentacioacuten oficial
5 Alternativas OCUnit y complementos
En este punto comentareacute brevemente algunas alternativas para OCUnit y tambieacuten un complemento indispensable comoOCMock para poder probar nuestras aplicaciones Apple
1 shy Google Toolkit for Mac el kit de herramientas de Google para Mac (GTM) esta lleno de utilidades interesantesy uacutetiles que aumentan las capacidades de prueba para iOS Las unidades descritas en GTM Testing soacutelo es unade sus caracteriacutesticas GTM nos proporciona una coleccioacuten de macros adicionales que permiten entre otras cosasque los meacutetodos de prueba sean maacutes cortos y maacutes descriptivos de lo que son cuando se escribe para los test conOCUnit Tambieacuten proporciona mock object para verificar que los mensajes de registro coincide con lo que cabriacuteaesperar y cuenta con categoriacuteas para las pruebas de graacuteficos e imaacutegenes
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1112
2 shy GHUnit El marco GHUnit estaacute disentildeado con OCUnit y Google compatibilidad Toolkit en mente De hecho esposible tomar conjuntos de pruebas escritas para cualquier framework de pruebas y utilizarlos en GHUnit sinmodificaciones La principal caracteriacutestica de GHUnit es que posee un frontend personalizado tanto para Mac yiOS que proporciona la capacidad de filtrar los resultados de pruebas basadas en palabras clave y ofrece unmayor control sobre la presentacioacuten de los resultados de las pruebas que Xcode permite Originalmente seejecuta en una aplicacioacuten lo que hace maacutes faacutecil depurar las pruebas unitarias de lo que es posible con OCUnit ElGHUnit GUI para iOS se muestra en siguiente imagen
3 shy OCMock OCMock es un framework para la creacioacuten sencilla de objetos simulados Utiliza las capacidades de
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1212
Esta obra estaacute licenciada bajo licencia Creative Commons de ReconocimientoshyNo comercialshySin obras derivadas 25
PUSH THIS Page Pushers Community Help
shyshyshyshyno clicks + + + + + + + +
0 people brought clicks to this page
powered by karmacracy
Share | 0
raquo Registrate y accede a esta y otras ventajas laquo
Aniacutemate y comeacutentanos lo que pienses sobre este TUTORIAL
introspeccioacuten de ObjectiveshyC en tiempo de ejecucioacuten para crear automaacuteticamente objetos simulados que puedensustituir a las instancias de los objetos reales Al usar mocks en nuestros tests crearemos objetos indicando queacutemeacutetodos pueden ser llamados cuaacuteles deben ser los paraacutemetros y el valor que deben ser devueltos En la fase deverificacioacuten evaluaraacute la llamada a los meacutetodos previstos (y que no ejecutoacute nada mas) con los paraacutemetrosconfigurados previamente Este es un complemento imprescindible para el desarrollo de aplicaciones basados enpruebas (TDD)
6 Conclusiones
La conclusioacuten no tenemos excusa para no probar nuestros desarrollos en la plataforma de la manzanita dando un valorantildeadiado a las misma y a los usuarios que la utilicen ya que nuestra aplicacioacuten seraacute mucho maacutes fiable al haber sidodisentildeada mediante TDD
Espero que este tutorial os haya sido de ayuda Un saludo
Sauacutel Garciacutea Diacuteazsgdiazautentiacom
A continuacioacuten puedes evaluarlo
Regiacutestrate para evaluarlo
Por favor vota +1 o compaacutertelo si te parecioacute interesante
Copyright 2003shy2013 copy All Rights Reserved | Texto legal y condiciones de uso | Banners | Powered by Autentia | Contacto
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 812
Podemos comprobar que el nuevo test falla con lo que continuamos con el siguiente paso en flujo de TDD yrefactorizamos nuestro coacutedigo para que la prueba pase satisfactoriamente (green flag)
Volvemos a lanzar los tests y voilaacute los tests se han ejecutado satisfactoriamente (green flag)
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 912
Asiacute podriacuteamos seguir escribiendo los tests y por tanto disentildeando y escribiendo el coacutedigo de nuestra aplicacioacuten para cadauna de las piezas que la conforma Esto es un ejemplo y por eso no voy a incluir en el tutorial los tests del resto de laspiezas que conforman la app como podriacutea ser los tests para el ViewController Sin embargo es importante que sepamosque asserts disponemos para validar el resultado de nuestro coacutedigo
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1012
Os dejo el enlace a la documentacioacuten oficial
5 Alternativas OCUnit y complementos
En este punto comentareacute brevemente algunas alternativas para OCUnit y tambieacuten un complemento indispensable comoOCMock para poder probar nuestras aplicaciones Apple
1 shy Google Toolkit for Mac el kit de herramientas de Google para Mac (GTM) esta lleno de utilidades interesantesy uacutetiles que aumentan las capacidades de prueba para iOS Las unidades descritas en GTM Testing soacutelo es unade sus caracteriacutesticas GTM nos proporciona una coleccioacuten de macros adicionales que permiten entre otras cosasque los meacutetodos de prueba sean maacutes cortos y maacutes descriptivos de lo que son cuando se escribe para los test conOCUnit Tambieacuten proporciona mock object para verificar que los mensajes de registro coincide con lo que cabriacuteaesperar y cuenta con categoriacuteas para las pruebas de graacuteficos e imaacutegenes
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1112
2 shy GHUnit El marco GHUnit estaacute disentildeado con OCUnit y Google compatibilidad Toolkit en mente De hecho esposible tomar conjuntos de pruebas escritas para cualquier framework de pruebas y utilizarlos en GHUnit sinmodificaciones La principal caracteriacutestica de GHUnit es que posee un frontend personalizado tanto para Mac yiOS que proporciona la capacidad de filtrar los resultados de pruebas basadas en palabras clave y ofrece unmayor control sobre la presentacioacuten de los resultados de las pruebas que Xcode permite Originalmente seejecuta en una aplicacioacuten lo que hace maacutes faacutecil depurar las pruebas unitarias de lo que es posible con OCUnit ElGHUnit GUI para iOS se muestra en siguiente imagen
3 shy OCMock OCMock es un framework para la creacioacuten sencilla de objetos simulados Utiliza las capacidades de
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1212
Esta obra estaacute licenciada bajo licencia Creative Commons de ReconocimientoshyNo comercialshySin obras derivadas 25
PUSH THIS Page Pushers Community Help
shyshyshyshyno clicks + + + + + + + +
0 people brought clicks to this page
powered by karmacracy
Share | 0
raquo Registrate y accede a esta y otras ventajas laquo
Aniacutemate y comeacutentanos lo que pienses sobre este TUTORIAL
introspeccioacuten de ObjectiveshyC en tiempo de ejecucioacuten para crear automaacuteticamente objetos simulados que puedensustituir a las instancias de los objetos reales Al usar mocks en nuestros tests crearemos objetos indicando queacutemeacutetodos pueden ser llamados cuaacuteles deben ser los paraacutemetros y el valor que deben ser devueltos En la fase deverificacioacuten evaluaraacute la llamada a los meacutetodos previstos (y que no ejecutoacute nada mas) con los paraacutemetrosconfigurados previamente Este es un complemento imprescindible para el desarrollo de aplicaciones basados enpruebas (TDD)
6 Conclusiones
La conclusioacuten no tenemos excusa para no probar nuestros desarrollos en la plataforma de la manzanita dando un valorantildeadiado a las misma y a los usuarios que la utilicen ya que nuestra aplicacioacuten seraacute mucho maacutes fiable al haber sidodisentildeada mediante TDD
Espero que este tutorial os haya sido de ayuda Un saludo
Sauacutel Garciacutea Diacuteazsgdiazautentiacom
A continuacioacuten puedes evaluarlo
Regiacutestrate para evaluarlo
Por favor vota +1 o compaacutertelo si te parecioacute interesante
Copyright 2003shy2013 copy All Rights Reserved | Texto legal y condiciones de uso | Banners | Powered by Autentia | Contacto
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 912
Asiacute podriacuteamos seguir escribiendo los tests y por tanto disentildeando y escribiendo el coacutedigo de nuestra aplicacioacuten para cadauna de las piezas que la conforma Esto es un ejemplo y por eso no voy a incluir en el tutorial los tests del resto de laspiezas que conforman la app como podriacutea ser los tests para el ViewController Sin embargo es importante que sepamosque asserts disponemos para validar el resultado de nuestro coacutedigo
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1012
Os dejo el enlace a la documentacioacuten oficial
5 Alternativas OCUnit y complementos
En este punto comentareacute brevemente algunas alternativas para OCUnit y tambieacuten un complemento indispensable comoOCMock para poder probar nuestras aplicaciones Apple
1 shy Google Toolkit for Mac el kit de herramientas de Google para Mac (GTM) esta lleno de utilidades interesantesy uacutetiles que aumentan las capacidades de prueba para iOS Las unidades descritas en GTM Testing soacutelo es unade sus caracteriacutesticas GTM nos proporciona una coleccioacuten de macros adicionales que permiten entre otras cosasque los meacutetodos de prueba sean maacutes cortos y maacutes descriptivos de lo que son cuando se escribe para los test conOCUnit Tambieacuten proporciona mock object para verificar que los mensajes de registro coincide con lo que cabriacuteaesperar y cuenta con categoriacuteas para las pruebas de graacuteficos e imaacutegenes
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1112
2 shy GHUnit El marco GHUnit estaacute disentildeado con OCUnit y Google compatibilidad Toolkit en mente De hecho esposible tomar conjuntos de pruebas escritas para cualquier framework de pruebas y utilizarlos en GHUnit sinmodificaciones La principal caracteriacutestica de GHUnit es que posee un frontend personalizado tanto para Mac yiOS que proporciona la capacidad de filtrar los resultados de pruebas basadas en palabras clave y ofrece unmayor control sobre la presentacioacuten de los resultados de las pruebas que Xcode permite Originalmente seejecuta en una aplicacioacuten lo que hace maacutes faacutecil depurar las pruebas unitarias de lo que es posible con OCUnit ElGHUnit GUI para iOS se muestra en siguiente imagen
3 shy OCMock OCMock es un framework para la creacioacuten sencilla de objetos simulados Utiliza las capacidades de
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1212
Esta obra estaacute licenciada bajo licencia Creative Commons de ReconocimientoshyNo comercialshySin obras derivadas 25
PUSH THIS Page Pushers Community Help
shyshyshyshyno clicks + + + + + + + +
0 people brought clicks to this page
powered by karmacracy
Share | 0
raquo Registrate y accede a esta y otras ventajas laquo
Aniacutemate y comeacutentanos lo que pienses sobre este TUTORIAL
introspeccioacuten de ObjectiveshyC en tiempo de ejecucioacuten para crear automaacuteticamente objetos simulados que puedensustituir a las instancias de los objetos reales Al usar mocks en nuestros tests crearemos objetos indicando queacutemeacutetodos pueden ser llamados cuaacuteles deben ser los paraacutemetros y el valor que deben ser devueltos En la fase deverificacioacuten evaluaraacute la llamada a los meacutetodos previstos (y que no ejecutoacute nada mas) con los paraacutemetrosconfigurados previamente Este es un complemento imprescindible para el desarrollo de aplicaciones basados enpruebas (TDD)
6 Conclusiones
La conclusioacuten no tenemos excusa para no probar nuestros desarrollos en la plataforma de la manzanita dando un valorantildeadiado a las misma y a los usuarios que la utilicen ya que nuestra aplicacioacuten seraacute mucho maacutes fiable al haber sidodisentildeada mediante TDD
Espero que este tutorial os haya sido de ayuda Un saludo
Sauacutel Garciacutea Diacuteazsgdiazautentiacom
A continuacioacuten puedes evaluarlo
Regiacutestrate para evaluarlo
Por favor vota +1 o compaacutertelo si te parecioacute interesante
Copyright 2003shy2013 copy All Rights Reserved | Texto legal y condiciones de uso | Banners | Powered by Autentia | Contacto
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1012
Os dejo el enlace a la documentacioacuten oficial
5 Alternativas OCUnit y complementos
En este punto comentareacute brevemente algunas alternativas para OCUnit y tambieacuten un complemento indispensable comoOCMock para poder probar nuestras aplicaciones Apple
1 shy Google Toolkit for Mac el kit de herramientas de Google para Mac (GTM) esta lleno de utilidades interesantesy uacutetiles que aumentan las capacidades de prueba para iOS Las unidades descritas en GTM Testing soacutelo es unade sus caracteriacutesticas GTM nos proporciona una coleccioacuten de macros adicionales que permiten entre otras cosasque los meacutetodos de prueba sean maacutes cortos y maacutes descriptivos de lo que son cuando se escribe para los test conOCUnit Tambieacuten proporciona mock object para verificar que los mensajes de registro coincide con lo que cabriacuteaesperar y cuenta con categoriacuteas para las pruebas de graacuteficos e imaacutegenes
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1112
2 shy GHUnit El marco GHUnit estaacute disentildeado con OCUnit y Google compatibilidad Toolkit en mente De hecho esposible tomar conjuntos de pruebas escritas para cualquier framework de pruebas y utilizarlos en GHUnit sinmodificaciones La principal caracteriacutestica de GHUnit es que posee un frontend personalizado tanto para Mac yiOS que proporciona la capacidad de filtrar los resultados de pruebas basadas en palabras clave y ofrece unmayor control sobre la presentacioacuten de los resultados de las pruebas que Xcode permite Originalmente seejecuta en una aplicacioacuten lo que hace maacutes faacutecil depurar las pruebas unitarias de lo que es posible con OCUnit ElGHUnit GUI para iOS se muestra en siguiente imagen
3 shy OCMock OCMock es un framework para la creacioacuten sencilla de objetos simulados Utiliza las capacidades de
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1212
Esta obra estaacute licenciada bajo licencia Creative Commons de ReconocimientoshyNo comercialshySin obras derivadas 25
PUSH THIS Page Pushers Community Help
shyshyshyshyno clicks + + + + + + + +
0 people brought clicks to this page
powered by karmacracy
Share | 0
raquo Registrate y accede a esta y otras ventajas laquo
Aniacutemate y comeacutentanos lo que pienses sobre este TUTORIAL
introspeccioacuten de ObjectiveshyC en tiempo de ejecucioacuten para crear automaacuteticamente objetos simulados que puedensustituir a las instancias de los objetos reales Al usar mocks en nuestros tests crearemos objetos indicando queacutemeacutetodos pueden ser llamados cuaacuteles deben ser los paraacutemetros y el valor que deben ser devueltos En la fase deverificacioacuten evaluaraacute la llamada a los meacutetodos previstos (y que no ejecutoacute nada mas) con los paraacutemetrosconfigurados previamente Este es un complemento imprescindible para el desarrollo de aplicaciones basados enpruebas (TDD)
6 Conclusiones
La conclusioacuten no tenemos excusa para no probar nuestros desarrollos en la plataforma de la manzanita dando un valorantildeadiado a las misma y a los usuarios que la utilicen ya que nuestra aplicacioacuten seraacute mucho maacutes fiable al haber sidodisentildeada mediante TDD
Espero que este tutorial os haya sido de ayuda Un saludo
Sauacutel Garciacutea Diacuteazsgdiazautentiacom
A continuacioacuten puedes evaluarlo
Regiacutestrate para evaluarlo
Por favor vota +1 o compaacutertelo si te parecioacute interesante
Copyright 2003shy2013 copy All Rights Reserved | Texto legal y condiciones de uso | Banners | Powered by Autentia | Contacto
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1112
2 shy GHUnit El marco GHUnit estaacute disentildeado con OCUnit y Google compatibilidad Toolkit en mente De hecho esposible tomar conjuntos de pruebas escritas para cualquier framework de pruebas y utilizarlos en GHUnit sinmodificaciones La principal caracteriacutestica de GHUnit es que posee un frontend personalizado tanto para Mac yiOS que proporciona la capacidad de filtrar los resultados de pruebas basadas en palabras clave y ofrece unmayor control sobre la presentacioacuten de los resultados de las pruebas que Xcode permite Originalmente seejecuta en una aplicacioacuten lo que hace maacutes faacutecil depurar las pruebas unitarias de lo que es posible con OCUnit ElGHUnit GUI para iOS se muestra en siguiente imagen
3 shy OCMock OCMock es un framework para la creacioacuten sencilla de objetos simulados Utiliza las capacidades de
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1212
Esta obra estaacute licenciada bajo licencia Creative Commons de ReconocimientoshyNo comercialshySin obras derivadas 25
PUSH THIS Page Pushers Community Help
shyshyshyshyno clicks + + + + + + + +
0 people brought clicks to this page
powered by karmacracy
Share | 0
raquo Registrate y accede a esta y otras ventajas laquo
Aniacutemate y comeacutentanos lo que pienses sobre este TUTORIAL
introspeccioacuten de ObjectiveshyC en tiempo de ejecucioacuten para crear automaacuteticamente objetos simulados que puedensustituir a las instancias de los objetos reales Al usar mocks en nuestros tests crearemos objetos indicando queacutemeacutetodos pueden ser llamados cuaacuteles deben ser los paraacutemetros y el valor que deben ser devueltos En la fase deverificacioacuten evaluaraacute la llamada a los meacutetodos previstos (y que no ejecutoacute nada mas) con los paraacutemetrosconfigurados previamente Este es un complemento imprescindible para el desarrollo de aplicaciones basados enpruebas (TDD)
6 Conclusiones
La conclusioacuten no tenemos excusa para no probar nuestros desarrollos en la plataforma de la manzanita dando un valorantildeadiado a las misma y a los usuarios que la utilicen ya que nuestra aplicacioacuten seraacute mucho maacutes fiable al haber sidodisentildeada mediante TDD
Espero que este tutorial os haya sido de ayuda Un saludo
Sauacutel Garciacutea Diacuteazsgdiazautentiacom
A continuacioacuten puedes evaluarlo
Regiacutestrate para evaluarlo
Por favor vota +1 o compaacutertelo si te parecioacute interesante
Copyright 2003shy2013 copy All Rights Reserved | Texto legal y condiciones de uso | Banners | Powered by Autentia | Contacto
51313 Xcode Guiacutea Baacutesica Test Unitarios
wwwadictosaltrabajocomtutorialestutorialesphppagina=xcode-guia-test-unitarios 1212
Esta obra estaacute licenciada bajo licencia Creative Commons de ReconocimientoshyNo comercialshySin obras derivadas 25
PUSH THIS Page Pushers Community Help
shyshyshyshyno clicks + + + + + + + +
0 people brought clicks to this page
powered by karmacracy
Share | 0
raquo Registrate y accede a esta y otras ventajas laquo
Aniacutemate y comeacutentanos lo que pienses sobre este TUTORIAL
introspeccioacuten de ObjectiveshyC en tiempo de ejecucioacuten para crear automaacuteticamente objetos simulados que puedensustituir a las instancias de los objetos reales Al usar mocks en nuestros tests crearemos objetos indicando queacutemeacutetodos pueden ser llamados cuaacuteles deben ser los paraacutemetros y el valor que deben ser devueltos En la fase deverificacioacuten evaluaraacute la llamada a los meacutetodos previstos (y que no ejecutoacute nada mas) con los paraacutemetrosconfigurados previamente Este es un complemento imprescindible para el desarrollo de aplicaciones basados enpruebas (TDD)
6 Conclusiones
La conclusioacuten no tenemos excusa para no probar nuestros desarrollos en la plataforma de la manzanita dando un valorantildeadiado a las misma y a los usuarios que la utilicen ya que nuestra aplicacioacuten seraacute mucho maacutes fiable al haber sidodisentildeada mediante TDD
Espero que este tutorial os haya sido de ayuda Un saludo
Sauacutel Garciacutea Diacuteazsgdiazautentiacom
A continuacioacuten puedes evaluarlo
Regiacutestrate para evaluarlo
Por favor vota +1 o compaacutertelo si te parecioacute interesante
Copyright 2003shy2013 copy All Rights Reserved | Texto legal y condiciones de uso | Banners | Powered by Autentia | Contacto