Autofac 尝试从假IContainer解析时发生ComponentNotRegisteredException

Autofac 尝试从假IContainer解析时发生ComponentNotRegisteredException,autofac,fakeiteasy,Autofac,Fakeiteasy,我正在尝试测试我的程序中解析类型实例的一部分。为此,我创建了一个假IContainer: this.container = A.Fake<IContainer>(); this.container=A.Fake(); 但是,当我到达这一行代码时: container.Resolve<APresenter>(); container.Resolve(); 它抛出了一个ComponentNotRegisteredException 假IContainer怎么知道会抛出

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

this.container = A.Fake<IContainer>();
this.container=A.Fake();
但是,当我到达这一行代码时:

container.Resolve<APresenter>();
container.Resolve();
它抛出了一个ComponentNotRegisteredException


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

原来是IContainer。Resolve是IContainer的一种扩展方法。它没有在接口中定义。我试着在我的假IContainer上做了一系列的设置来让扩展方法工作,但大约一个小时后就放弃了


更简单的方法是创建一个
Resolver
接口和一个围绕Autofac
IContainer

的包装器,我想我找到了问题所在。Resolve是接口上的一个扩展方法,没有在接口中定义。很好。你应该回答这个问题,这样你才能接受它!