尝试从Fake IContainer解析时ComponentNotRegisteredException

时间:2014-02-11 20:43:26

标签: autofac fakeiteasy

我正在尝试测试我解决类型实例的程序的一部分。为此,我创建了一个假的IContainer:

this.container = A.Fake<IContainer>();

然而,当我到达这行代码时:

container.Resolve<APresenter>();

它正在抛出ComponentNotRegisteredException!

假的IContainer如何知道甚至抛出异常?假容器应该只是伪造接口,而不是实现。这是怎么回事?

1 个答案:

答案 0 :(得分:1)

事实证明,IContainer.Resolve是IContainer的扩展方法。它没有在界面中定义。我尝试在我的Fake IContainer上进行一大堆设置以使扩展方法起作用,但大约一小时后放弃了。

更简单的方法是创建Resolver界面和Autofac IContainer周围的包装。