26
Testes unitários com PHPUnit

Testes unitários com PHPUnit

Embed Size (px)

Citation preview

Page 1: Testes unitários com PHPUnit

Testes unitários com PHPUnit

Page 2: Testes unitários com PHPUnit

Evaldo BarbosaAnalista de Sistemas

Presidente do PHP Maranhão

Membro da diretoria da ABRAPHP

Page 3: Testes unitários com PHPUnit

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

Page 4: Testes unitários com PHPUnit

Testar a menor unidade de código.

Page 5: Testes unitários com PHPUnit

Mas eu preciso disso?

Page 6: Testes unitários com PHPUnit

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...

Page 7: Testes unitários com PHPUnit

Isso é TDD, é?

Page 8: Testes unitários com PHPUnit

Te faz pensar no resultado;Te faz codificar menos;

Te faz corrigir mais rápido.

TDD é uma filosofia

Page 9: Testes unitários com PHPUnit

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.

Page 10: Testes unitários com PHPUnit

Desenvolvimento guiado por testes:

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

Código que atende ao teste.

Page 11: Testes unitários com PHPUnit

Mas eu começo por onde?

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

Page 12: Testes unitários com PHPUnit

Caso dos sapatos da Maria

Page 13: Testes unitários com PHPUnit

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

Criação de um Caso de Teste

Page 14: Testes unitários com PHPUnit

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

Page 15: Testes unitários com PHPUnit

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

Page 16: Testes unitários com PHPUnit

Criação do caso de teste

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

Page 17: Testes unitários com PHPUnit

Instalação do PHPUnit(via composer)

Page 18: Testes unitários com PHPUnit

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

Rodando o testcase

Page 19: Testes unitários com PHPUnit

Rodando o testcase(quebrando o teste)

Page 20: Testes unitários com PHPUnit

Rodando o testcase(rodando com sucesso)

Page 21: Testes unitários com PHPUnit

https://github.com/evaldobarbosa/CarrinhoPHPUnit

Page 22: Testes unitários com PHPUnit

Testdox

Documentação

Page 23: Testes unitários com PHPUnit

Code-coverage

Cobertura dos testes

Page 24: Testes unitários com PHPUnit

Obrigado

Page 25: Testes unitários com PHPUnit

Perguntas?

Page 26: Testes unitários com PHPUnit

WWW.EVALDOBARBOSA.COM.BR

br.linkedin.com/in/evaldobarbosa

github.com/evaldobarbosa

twitter.com/evaldobarbosa