相关疑难解决方法(0)

如何在Moq中使用Unity.RegisterType?

我有一个统一的运行代码.

现在我想使用Moq对ASP-MVC进行单元测试.在global.asax的代码中,我有以下内容:

IUnityContainer container = new UnityContainer();
container.RegisterType<IFoo, Foo>(new InjectionConstructor("xxx"));
Run Code Online (Sandbox Code Playgroud)

现在我用Moq编写了测试代码:

IUnityContainer container = new UnityContainer();
var mockFoo = new Mock<IFoo>();
Run Code Online (Sandbox Code Playgroud)

container.RegisterType<IFoo, mockFoo) >(new InjectionConstructor("xxx"));

但这不起作用.

错误:类型'Moq.Mock'不能在泛型类型或方法'Microsoft.Practices.Unity.UnityContainerExtensions.RegisterType中用作类型参数'TTo'...没有从'Moq.Mock'到内容的隐式引用转换'IFoo的'

moq unity-container

14
推荐指数
1
解决办法
6858
查看次数

构造函数中的依赖注入容器

为什么将容器放在构造函数中是如此糟糕?例如,您希望在另一个类(C)的构造函数中解析类B,因为您需要将类(B)与已解析的依赖项一起使用(您可以按照您希望的方式开始使用类C,就像它是B但是解决了依赖关系).

dependency-injection

4
推荐指数
1
解决办法
1988
查看次数