Zend Framework Estrutura e TDD

16

Click here to load reader

Transcript of Zend Framework Estrutura e TDD

Page 1: Zend Framework Estrutura e TDD

www.schoolofnet.com

Zend Framework e TDD

Zend Framework - Desenvolvimento guiado por testes#phpdaycuritiba

Wesley Willians@wesleywillians

Page 2: Zend Framework Estrutura e TDD

www.schoolofnet.com

Agenda

• Um pouco sobre TDD

• Estrutura do Zend Framework

• Integração do ZF com o PHPUnit

• Testando Models, Controllers e Helpers

• Banco de dados em memória

Page 3: Zend Framework Estrutura e TDD

www.schoolofnet.com

Sobre testes

• Teste de software

• Executar algum programa a ser testado com algum input e visualmente verificar os resultados.

• Testes automatizados

• Script executável que o programa a ser testado verifica automaticamente os resultados obtidos.

• Testar != Depurar

• Testar = Verificar existência de erros

• Depurar = Seguir um fluxo dentro do programa para encontrar um erro conhecido.

Page 4: Zend Framework Estrutura e TDD

www.schoolofnet.com

O que eu ganho com isso?

• Segurança!

• Acabou o medo de adicionar novas funcionalidades

• Correção de bugs

• Refatoração

Page 5: Zend Framework Estrutura e TDD

www.schoolofnet.com

E o sobre o TDD?

• TDD = Desenvolvimento guiado por testes

• Criar o teste

• O teste deverá falhar

• Criar o programa para fazer o teste passar da forma mais rápida possível

• Refatorar!

Page 6: Zend Framework Estrutura e TDD

www.schoolofnet.com

Estrutura do Zend Framework

• Conjunto de classes/bibliotecas• Possibilidade de trabalhar de forma desacoplada• Estrutura das aplicações normalmente são MVC• Aplicação não fica disponível para web

• DbTable vs Models• Bootstrap de inicialização• Geração estrutural de código com Zend Tool

Page 7: Zend Framework Estrutura e TDD

www.schoolofnet.com

Estrutura do Zend Framework

• Camada de visualização• Smarty

• Zend_Db

• Doctrine 1/2

Page 8: Zend Framework Estrutura e TDD

www.schoolofnet.com

Estrutura do Zend Framework

• Cache• Meta dados• Estático • Pontual

• Adapters• File •APC• XCache• Memcached

Page 9: Zend Framework Estrutura e TDD

www.schoolofnet.com

Integração do ZF e PHPUnit

Page 10: Zend Framework Estrutura e TDD

www.schoolofnet.com

Integração do ZF e PHPUnit

Page 11: Zend Framework Estrutura e TDD

www.schoolofnet.com

Integração do ZF e PHPUnit

Page 12: Zend Framework Estrutura e TDD

www.schoolofnet.com

Integração do ZF e PHPUnit

Page 13: Zend Framework Estrutura e TDD

www.schoolofnet.com

Testando Models, Controllers e Helpers

Verificação da existência de módulos, controllers e actions

Page 14: Zend Framework Estrutura e TDD

www.schoolofnet.com

Testando Models, Controllers e Helpers

Simulando post e testando output

Page 15: Zend Framework Estrutura e TDD

www.schoolofnet.com

Banco de dados em memória

A quantidade de testes e as interações com banco podem deixar a execução dos testes extremamente lenta.

Trabalhar com o pdo_sqlite em memória pode agilizar a execução dos testes em até 2/3.

Page 16: Zend Framework Estrutura e TDD

www.schoolofnet.com

Obrigado!

Alguma dúvida??