O documento discute princípios de testes de unidade limpos, incluindo as 3 leis do TDD, como manter testes limpos e evoluí-los, utilizar uma linguagem de teste específica ao domínio e padrões como um conceito por teste e F.I.R.S.T.
3. Testes de unidade
1. As 3 leis do TDD
a. Não escrever código de produção sem ter criado
seu teste antes;
b. Não escrever mais de um teste de unidade do que o
necessário para falhar;
c. Não escrever mais código de produção do que o
necessário para o teste.
2. Como manter os testes limpos
3. Testes e a evolução do Código
4. Testes limpos e Linguagem de
testes específica a domínio
- Utilização do padrão de codificação nos
testes;
- O código do testes devem seguir as regras de
nomenclatura auto-explicativa;
- Utilização de funções utilitárias e API's para
testes;
- Agiliza e flexibiliza o desenvolvimento e
aumenta a acurácia dos testes;
5. Um padrão duplo e Uma
confirmação por teste
- Ambiente de Produção X Ambiente de
Testes;
- Exemplo: StringBuffer;
- Uma assertiva por teste;
- Um único conceito por teste;
- Concisão e compreensão;
- Legibilidade, legibilidade...
6. Um único conceito por teste e F.I.R.
S.T.
1. Conceitos diferentes devem ser testados em
testes diferentes
2. F.I.R.S.T - 5 regras para testes limpos
a. Fast: Testes lentos não serão rodados com frequência
b. Independent: Testes devem ser rodados independentemente
e em qualquer ordem
c. Repeatable: Testes devem rodar em qualquer ambiente caso
contrário existirá sempre uma desculpa para uma falha
d. Self-Validating: Testes devem ter uma saida booleana, ou
seja, o testador não deve verificar manualmente a saida do
teste
e. Timely: Testes unitários devem ser escritos antes do código
em produção.