Nauczyłem się robić Test Driven Development (TDD), Dependency Injection (DI) i Inversion of Control (IoC) jednocześnie. Kiedy piszę kod za pomocą TDD, zawsze używam DI w konstruktorach mojej klasy. Zastanawiam się, czy to z powodu tego, jak nauczyłem się robić TDD, czy jest to naturalny efekt uboczny TDD.
Moje pytanie brzmi więc: czy przestrzeganie zasad TDD i pisanie testów jednostkowych, które nie zależą od usług zewnętrznych, nieuchronnie prowadzi do DI?