Olores de acoplamiento.
Lógica de Prueba en Producción
El código de producción contiene flags de modo de prueba, hooks o ramas que hacen que el código entregado se comporte de otra forma bajo prueba, de modo que el camino real llega a producción sin probar.
Solo para los tests
Las clases de producción contienen miembros que solo existen para los tests —getters de estado, métodos reset(), miembros con visibilidad ampliada y marcados con @VisibleForTesting—, lo que contamina la API real e invita a tests que verifican detalles internos en lugar de comportamiento.
Código difícil de probar
Código de producción cuyo diseño (acoplamiento fuerte, dependencias ocultas, estado global, E-S no determinista o interfaces solo asíncronas) obliga a los tests a contorsiones incómodas, o hace imposible ejercitar una unidad en aislamiento.