2014-01-13 110 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