【发布时间】:2023-03-12 02:16:01
【问题描述】:
我正在使用 Microsoft.Practices.ServiceLocation 程序集来创建 ServiceLocator。
我也在使用
模拟 ServiceLocatorvar mockS = new Mock<IServiceLocator>();
这个模拟应该返回实际的服务定位器,所以代码就像
mockS.Setup(x => x.GetInstance<ISettings>()).Returns(ServiceLocator.Current.GetInstance<ISettings>());
mockS.Setup(x => x.GetInstance<IContext>()).Returns(ServiceLocator.Current.GetInstance<IContext>());
mockS.Setup(x => x.GetInstance<IXYZ>()).Returns(ServiceLocator.Current.GetInstance<IXYZ>());
我想为此创建一个通用语句,例如
mockS.Setup(x => x.GetInstance<It.IsAny<T>()>()).Returns(ServiceLocator.Current.GetInstance<T>());
但是我没有让它工作。任何帮助将不胜感激。
【问题讨论】:
标签: c# moq service-locator