我需要注册我的Autofac容器与特定接口,对于这种情况我想解决模拟。使用autofac与moq
我该怎么办?
我已经试过:
var AppContainer = ApplicationContainer.GetApplicationContainer();
var cb = new ContainerBuilder();
cb.RegisterType<Mock<IStudyLoader>>().As<IStudyLoader>().SingleInstance();
cb.Update(AppContainer);
我不想改变我的代码,以解决超过IStudyLoader
别的东西,但Mock<IStudyLoader>
是不可替代的IStudyLoader
;例如Mock<IStudyLoader>.Object
可替代IStudyLoader
,但我不能注册Mock<IStudyLoader>.Object
,因为它不是一个类型。
请纠正我;我有这种感觉,我失去了一些东西。
(我还有一个限制,我不能用其他容器比ApplicationContainer.GetApplicationContainer()
)
(我认为这是更好地手动注入测试时的依赖性,但我不想改变生产代码,这段时间)