Testes Unitários Reinventados: Além do Dogma
Os testes unitários tradicionais muitas vezes caem em dogmas, levando a perda de tempo e testes ineficazes. Este artigo questiona a própria definição de uma 'unidade', defendendo testes de integração e de ponta a ponta centrados no usuário, em vez de testar rigidamente todas as classes ou métodos. O autor sugere reduzir a dependência do isolamento de código e mocks, utilizando bancos de dados reais e ferramentas como o Docker para aumentar a eficiência e a significância dos testes. O TDD é apresentado como não sendo uma solução mágica, com o design de arquitetura de software priorizando os requisitos não funcionais. Em última análise, a decisão crucial na escolha de uma estratégia de teste é equilibrar a garantia de qualidade, a resiliência à refatoração e a velocidade do feedback; muitas vezes, as ferramentas modernas tornam viáveis testes de ponta a ponta ou de integração rápidos.