Não, você não é louco. Os testes de unidade / TDD são ótimos, mas devem ser aplicados corretamente.
Existe um fenómeno chamado codificação / arquitectura de cultos de carga. É quando você aplica uma abordagem sem saber por que está fazendo isso. Este parece ter sido o caso com testes automatizados em seu projeto.
Para mim,
- Testes de Integração Automatizada têm usos, no entanto, o foco nos testes de unidade deve ser preferido sempre que possível.
- Baseado em código Automatizado Testar a interface do usuário é uma perda de tempo. (Não estou me referindo a um framework de teste como o Selenium, que pode ser útil)
- Qualquer teste que seja mais complexo que o código que está testando é apenas outro possível ponto de falha e, portanto, na melhor das hipóteses, um desperdício de tempo
O tipo de coisa a que você está se referindo está acontecendo em seu projeto é um sintoma do seguinte:
- código totalmente acoplado
- Falha ao isolar a lógica de negócios dos componentes de infraestrutura da base de código
Se o código fosse menos acoplado, apenas um mínimo de zombaria seria necessário.
Se a sua lógica de negócios estivesse adequadamente isolada, seria muito óbvio como escrever testes de unidade eficazes e produtivos de sua base de código.