Я использую все 3 из этих структур вместе. Похоже, ваша проблема в том, что вы пытаетесь выучить слишком много вещей одновременно.
Что касается использования контейнера IoC в тестах, мне никогда не приходилось делать это для модульных тестов - я просто использую макеты Rhino для передачи заглушек / mock для зависимых компонентов по мере необходимости.
В интеграционном тесте я вижу преимущество инициализации контейнера IOC в некотором коде, например, если вы используете шаблон MVP и хотите полностью заменить графический интерфейс заглушками.
Сначала я бы узнал о модульном тестировании более подробно. Я настоятельно рекомендую книгу Искусство модульного тестирования . Я нашел хорошую книгу, в которой сочетаются IOC, модульное тестирование и инфраструктура изоляции: Pro ASP.NET MVC - теперь есть 2-е издание , но, поскольку я его не читал Я не могу комментировать это. Книга не использует Unity, но если вы узнаете, как работает один фреймворк, легко переключиться на другой. Когда я перешел из Moq в Rhino, я нашел эту вики-страницу особенно полезной .