Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PHP Expericence 2015 - Testes Unitários - Existe vida antes do TDD

PHP Expericence 2015 - Testes Unitários - Existe vida antes do TDD

Slides da palestra sobre testes unitários apresentada durante o PHP Experience 2015.
Vídeo: https://www.youtube.com/watch?v=OXqRqR9cxlw&index=3&list=PLASrXUpwQG6f2cj-LlEBLZ8sXFDujO1qf

Diana Arnos

April 26, 2015
Tweet

More Decks by Diana Arnos

Other Decks in Programming

Transcript

  1. O início do caminho Testes Unitários Objetivo: garantir o retorno

    esperado em todos os casos possíveis • Caminho feliz • Fluxos alternativos • Fluxos de exceção
  2. Vantagens • Manutenção facilitada de código • Segurança ao refatorar

    • Estimula melhor implementação da programação orientada a objetos • Serve como documentação
  3. Erros Comuns • Você precisa alterar seu ambiente para os

    testes rodarem sem problemas (ex.: alterar configurações da aplicação) • Faz comunicação com algum banco de dados • Utiliza algum recurso de rede • Utiliza seu sistema de arquivos
  4. Boas Práticas • Cada teste verifica apenas um comportamento •

    Um teste não deve depender do resultado de outro • Testar apenas métodos públicos • O nome de cada teste deve indicar o que está sendo testado e qual o resultado esperado (algunsNomesPodemFicarUmTantoGrandes) • Usar testes parametrizados sempre que possível Polêmica: usar um único método de assert por teste
  5. Mocking Criação de objetos que simulam o comportamento de objetos

    reais e substituem as dependências externas nos testes. Stubs Não têm lógica, apenas retornam o que você mandar, basicamente com reusultados hard coded Mocks Objetos baseados em expectativas e que simulam comportamento, testam interações entre objetos
  6. Obrigada! Diana Ungaro Arnos Webdev @ Tricae Twitter: @dianaarnos Site:

    dianaarnos.branded.me G+: +DianaUngaroArnos Facebook: /dianaaarnos PHPEXPERIENCE2015