У меня есть класс, который содержит больше информации, чем мой интерфейс. У него есть свойство, которое я не раскрыл в своем интерфейсе.
public interface IViewResolver
{
object GetViewFor(string viewName);
}
Теперь я хочу реализовать MefViewResolver на основе этого интерфейса.
public class ViewResolver : IViewResolver
{
[ImportMany]
public IEnumerable<Lazy<IView,IViewMetaData>> Views { get; set; }
public object GetViewFor(string viewName)
{
var view = Views.Where(x => x.Metadata.Name == viewName).FirstOrDefault();
return view == null ? null : view.Value;
}
}
Мой SUT получает IResolver для каждой инъекции конструктора, загруженной с моим mefViewResolver. В моем модульном тесте я хотел бы предварительно установить свойство Views снаружи, не используя mef или не будучи специфичным для mef в моем интерфейсе.
По сути, я хочу установить виды с ожидаемым значением и посмотреть, возвращает ли моя модель представления, которая использует IViewResolver, предустановленное представление ...
Как я могу заглушить свойство views, даже если оно не существует в моем интерфейсе ...
Если я на неправильном пути ... любые исправления будут очень ценными ..
Спасибо Д.