012 — Testes
Para cada pacote, adicionamos testes unitários executados com o PHPUnit. Ao projetar os testes, leve em conta as diretrizes a seguir.
- A classe de teste deve ser marcada como
finalpor padrão. - A anotação
@testnão deve ser usada; use o prefixotestnos métodos. - O nome do método de teste deve refletir o propósito do teste.
- "should" não deve ser usado no nome do método de teste.
- Se necessário, o phpdoc do método de teste pode descrever o comportamento esperado.
- O teste deve seguir o AAA: primeiro prepare (arrange) as pré-condições necessárias, depois aja (act) e, por fim, verifique (assert) os resultados esperados.
- Deve haver um caso de teste por método de teste, ou seja, um único AAA.
- O teste deve usar a API pública. Não se deve acessar propriedades ou métodos privados, nem fazer suposições sobre os detalhes internos da classe testada.
- Os testes não devem depender do composer-config-plugin nem do container de DI, a menos que seja necessário.