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 con DI nei costruttori della mia classe. Mi chiedo se ciò sia dovuto a come ho imparato a fare il TDD, o se questo è un effetto collaterale naturale del TDD.
Quindi la mia domanda è questa: seguire i principi del TDD e scrivere test unit che non dipendono da servizi esterni porta inevitabilmente a DI?