Я не думаю, что вам нужны DI-фреймворки для модульного тестирования - TDD был за годы до того, как DI стал модой. А в случае кода, который не использует саму явную структуру DI, зачем использовать это для модульных тестов?
Конечно, DI-фреймворки могут в некоторой степени упростить задачу. OTOH они делают это, помещая сложность в другом месте. Я предпочитаю проводить автономные модульные тесты, и до сих пор я почти всегда обходился без инфраструктуры DI. Это часто требует рефакторинга моего тестового кода, а иногда даже дублирования кода, но я могу с этим смириться. И, как заметил @kostja, фреймворк для насмешек тоже очень помогает.
Очень важен и дизайн для тестируемости - если класс сам по себе сложно тестировать, лучше его реорганизовать, чем пытаться облегчить боль с помощью DI-фреймворка.
Обратите внимание, что все это требует большой практики, а также изменения мышления и мышления. Все это требует времени и терпения ... чем больше вы не отставаете, тем лучше становитесь: -)
вы можете фактически протестировать одиночное поведение в каждом тесте - только один тест может быть выполнен для одной проблемы, с которой вы столкнулись.
Я думаю, что ваш вывод здесь неверен. Даже если вы тестируете одну вещь в каждом тесте, вы можете нарушить множество тестов с помощью одного изменения кода. Обновление: Каждый тест должен проверять единственный путь выполнения в тестируемом коде. Однако эти пути выполнения редко бывают независимыми - как правило, есть общие разделы пути во всех, кроме самых простых методов. Любое изменение может нарушить несколько тестов.