Это хороший вопрос.Я думаю, что есть две его части - реальная необходимость изменить сигнатуру конструктора и акт введения новой зависимости.
Добавление нового параметра в конструктор не должно быть слишком громоздким, особенно с учетом инструментов для рефакторинга в современных IDE(например, Изменить метод подписи в Eclipse), который добавит параметр и изменит все места, где вызывается этот конструктор.
С другой стороны, введение новой зависимости, по моему мнению, всегда является возможностью для рефакторинга.Если ваш класс А не может выполнить свою функциональность без новой зависимости, возможно, он начинает брать на себя слишком большую ответственность.
Один прием, который может помочь вам преодолеть необходимость изменения кода для создания объектов в тестах во многих местах.использовать выделенную фабрику, которая позаботится о подготовке экземпляра объекта в состоянии, готовом к тестированию.Вам не нужно использовать фабрику в производстве (DI-контейнер делает то же самое), но в тестовом коде это может пригодиться.