我在TypeMock论坛上发布了这个,但我太急于等待那里的响应。这是一个非常困难的问题。在一个方法上设置行为似乎是调用方法
我试图设置一个假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不会嘲笑它们。
哦咄!我应该更看重我最初的问题。问题已解决。非常感谢Nicholas!实际上,我在应用程序中的一个位置传递了一个ContainerBuilder,只是为了引导程序,并且希望确保它能够正确注册我的模块。 – 2010-08-19 09:00:21