Todos os programadores, bons e ruins, cometem erros a diferença entre o bom programador e o ruim está no tempo de respostas aos erros. Quanto mais cedo você testar o seu código, mais cedo os erros aparecerão e mais cedo eles serão corrigidos.
Nesta pequena série de artigos veremos como automatizar esses testes de código, proporcionando rapidez no desenvolvimento e confiança no código que está sendo feito.
Utilizaremos uma técnica de desenvolvimento chamada TDD ( Test-Driven-Development ) , que é uma das práticas defendida pelas metodologias ágeis de desenvolvimento ( AMDD )
Para criar nossa aplicação de exemplo utilizaremos:
• IDE Netbeans for PHP
• PHP Unit
• Xampp
Após a instalação do ambiente de desenvolvimento Netebeans e XAMPP iremos configurar o PHP Unit para rodar na nossa IDE.
Primeiramente abra o terminal e vá até a pasta onde se encontra o php, no meu caso:
C:\xampp\php
E entre com os seguintes comandos para realizar a instalação do PHPUnit
pear channel-discover pear.phpunit.de
pear channel-discover pear.symfony-project.com
pear install phpunit/PHPUnit
Com esses três comandos o pear irá baixar e instalar a ultima versão estável do PHPUnit.
Agora teremos que configurar o Netbeans para trabalhar com o PHPUnit.
Abra o Netbeans e vá a Ferramentas >> Opções, com isso abrirá uma tela parecida com essa:
Clique na categoria PHP e depois na aba “Teste de Unidade” (Unit Test).
Em script PHPUnit clique em procurar… e procure pela localização do PHPUnit instalado.
No meu caso fica em C:\xampp\php\phpunit.bat
Pronto, o nosso ambiente já está configurado para começarmos a desenvolver.
Vamos á um pequeno teste do ambiente.
Crie um novo projeto PHP no netbeans e chame-o de CalculadoraSimples
Agora crie uma nova classe chamada calculadora simples
<?php class Calculadora { /** * @assert (0, 0) == 0 * @assert (0, 1) == 1 * @assert (1, 0) == 1 * @assert (1, 1) == 2 * @assert (1, 2) == 4 */
public function soma($a, $b)
{
return $a + $b;
}
}
?>
Essas anotações acima do método nós veremos mais tarde, por hora apenas digite como está.
Agora crie um novo diretório chamado testes no seu projeto.
Depois disso clique em cima da nossa classe e selecione Ferramentas >> Criar Testes PHPUnit
O netbeans perguntará onde se localiza o diretório de testes
Escolha o nosso diretório testes criando anteriormente
Pronto o netebeans criará uma classe chamada CalculadoraTest nesse diretórios
Agora é só clicar no projeto do netbeans e depois em Testar
Note pela barra vermelha que o nosso último teste falhou, mas isso já era esperado, pois nós colocamos a anotação
@assert (1, 2) == 4
Nela estamos dizendo ao PHPUnit : “Afirme que o retorno do método de soma( 1,2 ) é igual a 4”
Uma ótima prática é sempre escrevermos testes que irão falhar e testes que temos certeza absoluta quer irão passar.
Assim nós garantimos a integridade dos testes.
Corrija o teste soma5().
public function testSoma5() { $this->assertEquals( 4, $this->object->soma(2, 2) ); }
Pronto agora todos os testes passarão.
No próximo artigo eu mostrarei como medir a abrangência dos testes.
Até a Proxima.










Olá, eu criei um Blog há poucos meses para fazer a divulgação da minha área de atuação que é o Marketing de Atração.
Porém eu não entendo nada de PHP, apesar de ter algum conhecimento básico de HTML e que dá pra me virar.
Mas gostaria muito de aproveitar o máximo de recursos possíveis a nível de interação com o leitor no meu Blog.
Você conhece algum curso de PHP on line pago ou gratuito?
Eu sou do Rio de Janeiro.
Se conhecer algum curso presencial também na minha cidade, eu agradeceria muito a dica.
Abraços.
Não sou desenvolvedor de sistemas, mas vou repassar este artigo para o minha comunidade no Twitter, pois sei que lá existem pessoas que podem entender tudo o que você escreveu e tirar um bom proveito.
Abraços
Olá Fernando, eu recomendo a você o curso da Íparos http://www.iparos.com.br/, é fiz há alguns anos e achei muito bom mesmo, além de ter um preço bem acessível.
Quanto a cursos online eu não conheço nenhum, mas você pode olhar os sites http://www.phpbrasil.com e http://www.revistaphp.com.br. são muito bons para quem quer encontrar tutorias de PHP.
Abraços,
Ramon Silva