consola cake php, uso y testing

20
Consola de CakePHP, uso y testing Consola de CakePHP, uso y testing David Riveros David Riveros

Upload: driveros

Post on 19-Jun-2015

5.760 views

Category:

Technology


0 download

DESCRIPTION

Presentación realizada en el CakePHP Conference realizada por David Riveros el Viernes 19 de Diciembre del 2008

TRANSCRIPT

Page 1: Consola Cake Php, Uso Y Testing

Consola de CakePHP, uso y testingConsola de CakePHP, uso y testing

David RiverosDavid Riveros

Page 2: Consola Cake Php, Uso Y Testing

Presentación

• CakeFest Buenos Aires, Argentina• Experiencia con PHP desde 2003• Experiencia CakePHP Abril 2008• Framework de desarrollo en OXUS

Page 3: Consola Cake Php, Uso Y Testing

Consola Cake - Instalación

• Unix: Agregar variable $PATH en .profile$PATH:/path_to_cakephp/cake/console

• Windows: Variables de entorno, agregar a variable PATH c:/path_to_cake/cake/console

Page 4: Consola Cake Php, Uso Y Testing

Consola Cake – Creando Proyectos

cake bake project xxxxxx• Copia contenido de carpetacakeroot/cake/console/libs/templates/skel

cake bake xxxxxx• Copia contenido y configura BD

Page 5: Consola Cake Php, Uso Y Testing

Modelos, Controladores y Vistas

• Creación limpiacake bake model xxxxxx (singular)cake bake controller xxxxxx (plural)cake bake view controller xxxxxx• Para validaciones en modelo o scaffolding en

controlador, solo utilizar:cake bake

Page 6: Consola Cake Php, Uso Y Testing

Cake API

• Problemas con alguna herramienta de cake?cake api xxxxxxx• Ejemplos:cake api helper htmlcake api behavior containablecake api component RequestHandler

Page 7: Consola Cake Php, Uso Y Testing

Cake Schema [1/2]

cake schema generate• Dump de tablas de modelos a

/app/config/sql/schema.php• Forzar toda la BD, con –f

cake schema run update –s 2• Modifica la BD con el estado del snapshot

Page 8: Consola Cake Php, Uso Y Testing

Cake Schema [2/2]

cake schema run create• Realiza drop de tablas del schema y las crea

cake schema dump filename.sql• Dump en formato SQL• Sin filename el dump es en consola

Page 9: Consola Cake Php, Uso Y Testing

Cake i18n

• Soporte para internacionalización• Extracción de oraciones traduciblescake i18n extract• Archivo .pot para traducción

Page 10: Consola Cake Php, Uso Y Testing

Consola

cake console• Para probar funciones de modelo fuera del

entorno• Uso: Modelo->funcionPosts->findAll();• Pruebas de RutasRoutes posts/view/1Routes show

Page 11: Consola Cake Php, Uso Y Testing

Nuestra propia consola

• /app/vendors/shells/menu.php

• Ocupamos $this->in y $this->out• En vez de $this->params, ocupamos $this->args• Podemos hacer otras funciones adicionales a

main

Page 12: Consola Cake Php, Uso Y Testing

Cake testsuite [1/2]

cake testsuite category test_type file• Category: core, app, nombre plugin• Test_type: case, group o all• File: test a correr Ejemploscake testsuite app case models/my_model cake testsuite app group mygroup

Page 13: Consola Cake Php, Uso Y Testing

Cake testsuite [2/2]

• Creando nuevos casos de test:cake bake test• Podemos crear test para modelos,

controladores, helpers, behaviors, componentes• Creamos por consola los métodos a testear

Page 14: Consola Cake Php, Uso Y Testing

Unit Testing

• Si no conoces el concepto, lo verás en práctica• Si te es familiar, sabrás como implementar en

CakePHP• Como hacer y correr test

Page 15: Consola Cake Php, Uso Y Testing

Unit Testing

• Unit: la unidad mínima de código• Procedimiento automático que nos de la

posibilidad de asegurarnos que el código que escribamos funcione de la forma en que queremos que lo haga

• Testear entre 40% y 80% del código. El 100% es imposible e innecesario.

Page 16: Consola Cake Php, Uso Y Testing

Unit Testing

• Assertions

Page 17: Consola Cake Php, Uso Y Testing

Unit Testing

• Assertions

Page 18: Consola Cake Php, Uso Y Testing

Unit Testing

Beneficios• Sabemos cuando un cambio rompe el

comportamiento esperado• Arreglar bugs es mucho más fácil, y es menos

probable crear código con ellos• Aumenta la confianza del programador

Page 19: Consola Cake Php, Uso Y Testing

Unit Testing

Limitaciones• Tiempo: el tiempo es oro• Motivación: no es para flojos• Mantenimiento: más código por mantener• Muestra los errores, no la ausencia de ellos

Page 20: Consola Cake Php, Uso Y Testing

FIN

¿Preguntas?

De interés:Lista: [email protected]

IRC: irc.freenode.org #cakephp #cakephp-es

Contacto: [email protected]