testes unitários com phpunit

Post on 28-Jul-2015

74 Views

Category:

Software

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Testes unitários com PHPUnit

Evaldo BarbosaAnalista de Sistemas

Presidente do PHP Maranhão

Membro da diretoria da ABRAPHP

Mas eu nem sei o que é teste unitário!

Testar a menor unidade de código.

Mas eu preciso disso?

Aplicativos que são difíceis de manter;Que quebram com a mínima alteração;

Quer garantir que aplicações complexas sejam estáveis;

Documentação de como as coisas acontecem...

Sim, você precisa de testes unitários.

Se você tem...

Isso é TDD, é?

Te faz pensar no resultado;Te faz codificar menos;

Te faz corrigir mais rápido.

TDD é uma filosofia

Testes para validação do código legado e refatoração:

Domínio do problema conhecido;Testes para confirmar que o código

funciona;Refatoração pontual.

Desenvolvimento guiado por testes:

Análise do problema;Testes para cada unidade de código;

Código que atende ao teste.

Mas eu começo por onde?

http://www.evaldobarbosa.com.br/testes-unitarios-no-php-parte-1-de-3/

Caso dos sapatos da Maria

Identificação do problema Separação dos dados

Criação de um Caso de Teste

Maria é louca por sapatos e viu na loja X alguns modelos pelos

quais ficou apaixonada e não está resistindo à tentação de

comprar três deles e, além de levar os belos pares de sapatos,

ganhar um descontinho de 20%. Ela vai comprar um sapato de

festa azul por R$ 49,90, um outro preto com alguns enfeites por

R$ 79,90 e o terceiro, um pouco mais caro, mas de uma marca

fantástica – segundo ela – por R$ 121,00.

O problema

Maria, a cliente da loja X, vai comprar quantos pares de calçados?

Três pares!

Qual o valor total da compra da Maria?

R$ 49,90 + R$ 79,90 + R$ 121,00 = R$ 250,80.

Existe um desconto de 20% a ser dado sobre esse valor. Com o desconto ele fica em quanto?

R$ 250,80 * ( 1 – 0.2 ) = R$ 200,64.

Separação dos dados

Criação do caso de teste

http://www.evaldobarbosa.com.br/testes-unitarios-com-php-parte-2-de-3/

Instalação do PHPUnit(via composer)

http://www.evaldobarbosa.com.br/testes-unitarios-no-phpunit-parte-3-de-3/

Rodando o testcase

Rodando o testcase(quebrando o teste)

Rodando o testcase(rodando com sucesso)

https://github.com/evaldobarbosa/CarrinhoPHPUnit

Testdox

Documentação

Code-coverage

Cobertura dos testes

Obrigado

Perguntas?

WWW.EVALDOBARBOSA.COM.BR

br.linkedin.com/in/evaldobarbosa

github.com/evaldobarbosa

twitter.com/evaldobarbosa

top related