我有一个统一的运行代码.
现在我想使用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的'
Seb*_*ber 20
您正在尝试注册模拟对象,而不是模拟对象.
var mock = new Mock<IFoo>();
container.RegisterInstance<IFoo>(mock.Object);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6858 次 |
| 最近记录: |