Odores de Acoplamento.
Lógica de Teste em Produção
O código de produção contém flags de modo de teste, hooks ou ramos que fazem o código entregue se comportar de outro jeito sob teste, e assim o caminho real vai para produção sem ser testado.
Apenas Para Testadores
Classes de produção carregam membros que existem apenas para os testes — getters de estado, métodos reset(), membros com visibilidade ampliada e marcados com @VisibleForTesting —, poluindo a API real e convidando a testes que verificam detalhes internos em vez do comportamento.
Código Difícil de Testar
Código de produção cujo design (acoplamento forte, dependências ocultas, estado global, IO não determinística ou interfaces apenas assíncronas) força os testes a contorções estranhas, ou torna impossível exercitar uma unidade isoladamente.