Maus Cheiros de Acoplamento.
Lógica de Teste em Produção
O código de produção contém lógica, ramos ou membros que existem apenas para dar suporte aos testes, borrando a linha entre o que vai para produção e o que é apenas testado.
Apenas Para Testadores
O código de produção contém métodos, acessadores de estado ou seams (costuras) que existem apenas para serem usados pelos testes, 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.