我们最近才改用 .Net4.5,我正在做一些重构以利用新的 ExportFactories。

我的问题是当我将它们注入(inject)到我的构造函数中时,我如何模拟它们进行单元测试,但从单元测试的角度来看,我不是 100% 确定这些的最佳方法。

最佳答案

ExportFactory 的构造函数接受一个函数,该函数返回一个包含导出的元组和另一个释放导出的函数。所以你可以做这样的事情:

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

并将其注入(inject)到您的其他类的构造函数中,例如:
var obj = new OtherClass(new ExportFactory<ISomething>(CreateMock));

关于c# - 使用 MEF2 ExportFactories 进行单元测试,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21095320/

10-14 15:43