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
4. 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
6. 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
7. 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
8. 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
9. 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