KISS - Keep it simple, stupid!

CakePHP AutoTest – Testes Contínuos

postado por João José Pedrini em 12/02/2009 20:24:10

Certo dia, lá no canal do IRC fiquei sabendo de um projeto muito interessante, o CakeAutoTest do Rodrigo. Se trata de um plugin de CakePHP para realizar Auto-Testes. Não sei se comentei aqui no blog mas sempre acreditei que teste automatizado é a melhor ferramenta de feedback que podemos ter num projeto, ele nos dá confiança para prosseguirmos, coragem para refatorar nossos códigos, simplicidade e motivação para não pararmos de programar. E se feedback é tão bom, por que não termos esse feedback a todo momento!? É esta a idéia do AutoTest.

CakeAutoTest em Ação!

CakeAutoTest em Ação!

Depois que soube que ele tinha iniciado este projeto, fiquei muito empolgado para poder utilizar. Infelizmente acabei tendo alguns problemas e não tive muito tempo para explorar o plugin. Bem, a espera terminou, fiz um fork no projeto e arregacei as mangas para solucionar alguns dos problemas que estava enfrentando, de quebra, acabei fazendo um pouco mais e adicionei suporte a uma ferramenta de notificação para o Linux (libnotify).  As minhas modificações já foram adicionadas no repositório principal do Rodrigo. Para instalar o Libnotify no Linux é fácil, com o ’slapt-get’ do Slackware é só fazer o download dos pacotes libnotify-0.4.*as e notification-daemon-0.4.*as (em outras distros eu não faço idéia como instalar).

Após fazerem clone no projeto do Rodrigo ou no meu na pasta de plugins vocês devem configurar o arquivo .autotest do seu projeto (crie um arquivo .autotest na raiz da pasta /app). Neste arquivo a idéia é armazenar as informações singulares de cada projeto, como as pastas que serão ignoradas e/ou o sistema de notificação que irá utilizar. Para vocês terem uma idéia, este arquivo será carregado dentro do __construct() do AutoTestShell, portanto vocês poderão setar/utilizar qualquer variável da classe. Como exemplo, vocês podem olhar o .autotest que utilizo:

<?php 
$this->ignore_files[] = '/autotest/';
// Adicionando a notificação do LibNotify
include( $this->paths['libs'].'libnotify.php');
?>

Para executar é simples, chame a Task autotest no Shell do CakePHP e deixa rolar. A cada modificação em qualquer arquivo do projeto, o plugin irá rodar os testes. Se você quebrou ou concertou algum teste, ele avisará. Simples e super útil! Agora, tudo que você fizer no projeto você terá o feedback se está melhorando ou estragando tudo!

Está ai a apresentação desta nova ferramenta para CakePHP, parabéns ao Rodrigo e qualquer dúvida que vocês tiverem é só comentar no post que terei o prazer de ajudar!

Tags: , , , , ,
Topo

1 Comentário

Ótima apresentação sobre Framework Web

postado por João José Pedrini em 10/02/2009 03:22:37
Topo

2 Comentários

Construindo uma aplicação completa com CakePHP

postado por João José Pedrini em 08/09/2008 10:37:57

Confiram essa excelente série de artigos criado por James Fairhurst explicando, em 12 artigos, como construir um catálogo de DVDs em CakePHP. Dei uma olhada por cima de cada artigo e eles me parecem bastante completos, vale a pena conferir:

  • Artigo 1: Configuração do CakePHP e criação do Banco de Dados e Models
  • Artigo 2: Criação do primeiro Controller e suas Views
  • Artigo 3: Criação de mais dois Controllers e suas Views
  • Artigo 4: Upload de arquivos e introdução ao jQuery
  • Artigo 5: Trabalhando com associações HABTM
  • Artigo 6: Adicionando autentificação
  • Artigo 7: Design gráfico da aplicação
  • Artigo 8: Realizando o design com HTML e CSS
  • Artigo 9: Introdução a layouts e elements
  • Artigo 10: Definindo a página inicia
  • Artigo 11: Usando requestAction()
  • Artigo 12: Finalizando a aplicação

O sistema pronto pode ser acessado através do link http://cakecatalog.jamesfairhurst.co.uk/

Vi no http://cakebaker.42dh.com/2008/09/07/building-a-dvd-catalog-application-with-cakephp/

Tags: ,
Topo

2 Comentários

Creative Commons License
Sou Ágil: KISS em http://kiss.souagil.com.br está licenciado sobre
Creative Commons Attribution-Share Alike 2.5 Brazil License.

souÁgil