CakePHP AutoTest – Testes Contínuos
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!
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: autotest, cakephp, desenvolvimento, plugins, shell, testing




