Ho imparato a fare Test Driven Development (TDD), Dependency Injection (DI) e Inversion of Control (IoC) allo stesso tempo. Quando scrivo codice usando TDD, finisco sempre per usare DI nei costruttori della mia classe. Mi chiedo se questo è dovuto al modo in cui ho imparato a fare TDD, o se questo è un effetto collaterale naturale di TDD.
Quindi la mia domanda è questa: i seguenti principi TDD e test di unità di scrittura che non dipendono da servizi esterni portano inevitabilmente a DI?