Tôi cần đăng ký vùng chứa Autofac của mình với giao diện cụ thể, trong trường hợp này tôi muốn giải quyết mô hình.Sử dụng autofac với moq
Tôi có thể làm như thế nào?
Tôi đã thử:
var AppContainer = ApplicationContainer.GetApplicationContainer();
var cb = new ContainerBuilder();
cb.RegisterType<Mock<IStudyLoader>>().As<IStudyLoader>().SingleInstance();
cb.Update(AppContainer);
Tôi không muốn thay đổi mã của tôi để giải quyết cái gì khác hơn IStudyLoader
, nhưng Mock<IStudyLoader>
là không thể thay thế cho IStudyLoader
; ví dụ: Mock<IStudyLoader>.Object
có thể thay thế cho IStudyLoader
, nhưng tôi không thể đăng ký Mock<IStudyLoader>.Object
vì đó không phải là loại.
Hãy sửa tôi; Tôi có cảm giác rằng tôi đang thiếu cái gì đó.
(Tôi có một hạn chế, tôi không thể sử dụng container khác hơn ApplicationContainer.GetApplicationContainer()
)
(Tôi nghĩ rằng nó tốt hơn để tự tiêm phụ thuộc khi thử nghiệm, nhưng tôi không muốn thay đổi mã sản xuất thời gian này .)