我在 TypeMock 论坛上发布了这个,但我迫不及待地等待那里的回复。这是一个非常n00b的问题。
我正在尝试设置一个假的 IContainer。这是我所拥有的:
var container = Isolate.Fake.Instance<IContainer>();
var program = Isolate.Fake.Instance<IProgram>();
Isolate.WhenCalled(() => container.Resolve<IProgram>()).WillReturn(program);
(IProgram
是我代码中的一个接口)。
当我尝试运行此代码时,我收到 Autofac 异常:“请求的服务 MyApp.IProgram 尚未注册。”
怎么会抛出这个异常呢?我实际上并没有调用 container.Resolve(),对吗?我只是将它设置为返回一个假的 IProgram。
不相关的背景信息:我正在试用 TypeMock,因为 Autofac 广泛使用扩展方法,而 Moq 不会模拟它们。