Ao executar o ciclo Vermelho, Verde e Refatorador, devemos sempre escrever o código mínimo para passar no teste. Foi assim que aprendi sobre TDD e quase todos os livros descrevem o processo.
Mas e o registro?
Honestamente, raramente usei o logon em um aplicativo, a menos que houvesse algo realmente complicado, mas vi várias postagens que falam sobre a importância do log adequado.
Portanto, além de registrar uma exceção, eu não poderia justificar a real importância de efetuar logon em um aplicativo testado adequado (testes de unidade / integração / aceitação).
Então, minhas perguntas são:
- Precisamos fazer logon se estivermos fazendo TDD? um teste falho não revelará o que há de errado com o aplicativo?
- Devemos adicionar teste para o processo de log em cada método em cada classe?
- Se alguns níveis de log estiverem desativados no ambiente de produção, por exemplo, isso não introduzirá uma dependência entre os testes e o ambiente?
- As pessoas falam sobre como os logs facilitam a depuração, mas uma das principais vantagens do TDD é que eu sempre sei o que há de errado devido a uma falha no teste.
Há algo que estou perdendo por aí?