我需要註冊我的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()
)
(我認爲這是更好地手動注入測試時的依賴性,但我不想改變生產代碼,這段時間)