我使用 Specflow 和 WatiN 进行了一些验收测试,但不确定在哪里为我的 IOC 容器 (SimpleServiceLocator) 设置注册。
在我的网站上,注册是在我的 global.asax 上完成的。
在我的测试项目中,我尝试使用 [BeforeScenario] 方法使用以下代码设置它们
var container = new SimpleServiceLocator();
container.Register<ISitecoreLookupAccessor>(
() => new SitecoreLookupAccessor());
Microsoft.Practices.ServiceLocation.ServiceLocator
.SetLocatorProvider(() => container);
我在我的应用程序项目中使用了一个对象实例
ISitecoreLookupAccessor accessor =
ServiceLocator.Current.GetInstance<ISitecoreLookupAccessor>();
但我收到一个错误“对象引用未设置为对象的实例”。因为 ServiceLocator.Current 为 null ...