gpt4 book ai didi

unity-container - 如何将 Unity.RegisterType 与 Moq 一起使用?

转载 作者:行者123 更新时间:2023-12-03 21:47:43 24 4
gpt4 key购买 nike

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

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

IUnityContainer container = new UnityContainer();
container.RegisterType<IFoo, Foo>(new InjectionConstructor("xxx"));

现在我用 Moq 编写了测试代码:
IUnityContainer container = new UnityContainer();
var mockFoo = new Mock<IFoo>();
container.RegisterType<IFoo, mockFoo) >(new InjectionConstructor("xxx"));
但这不起作用。

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

最佳答案

您正在尝试注册模拟对象,而不是模拟对象。

var mock = new Mock<IFoo>();
container.RegisterInstance<IFoo>(mock.Object);

关于unity-container - 如何将 Unity.RegisterType 与 Moq 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12614703/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com