Может быть, я демонстрирую свое непонимание внедрения зависимостей и тестирования, но я не понимаю, как использование внедрения зависимостей с классами, которые не реализуют интерфейсы, вообще помогает мне в тестировании?
Например, в документации Enterprise Library 5.0 говорится об использовании контейнера Unity для создания экземпляров. В нем говорится, что это помогает «тестируемости: тривиально изолировать классы от зависимостей при использовании стиля внедрения зависимостей». MSDN
Как мне использовать это в моих приборах модульного тестирования? В их примере есть конструктор с параметрами в виде классов, а не интерфейсов:
public class TaxCalculator
{
private ExceptionManager _exceptionManager;
private LogWriter _logWriter;
public TaxCalculator(ExceptionManager em, LogWriter lw)
{
this._exceptionManager = em;
this._logWriter = lw;
}
}