2014-01-13 7 views
4

Мы только что перешли на использование .Net4.5, и я делаю некоторые рефакторинг, чтобы воспользоваться новыми ExportFactories.Модульные тесты с MEF2 ExportFactories

Мой вопрос в том, как я издеваться над ними для модульного тестирования, когда я ввожу их в свой конструктор, но я не уверен на 100% наилучшим образом подошел к ним с точки зрения модульного тестирования.

+0

Можете ли вы предоставить некоторый образец кода? –

ответ

2

Конструктор ExportFactory выполняет функцию, которая возвращает кортеж, содержащий экспорт, и другую функцию, которая освобождает экспорт. Таким образом, вы можете сделать что-то подобное:

static Tuple<ISomething, Action> CreateMock() 
{   
    return new Tuple<ISomething, Action>(new MockSomething(), 
             () => Console.WriteLine("Releasing...")); 
} 

и ввести его в другой конструктор класса с чем-то вроде:

var obj = new OtherClass(new ExportFactory<ISomething>(CreateMock)); 
+0

Спасибо. Это то, что я закончил делать. – twreid

Смежные вопросы