【发布时间】:2013-09-19 12:55:40
【问题描述】:
我昨天遇到了一个奇怪的问题。我昨天使用 ninject 作为其 di 容器构建了一个临时的视图模型定位器样式系统。然后,我尝试让它解析数据存储库接口的最小起订量模拟实现,以通过构造函数注入输入视图模型。但是,我在设计时不断收到来自 moq 的以下异常。
Error 2 Unable to cast object of type 'Castle.Proxies.IADEmployeeRepoProxy_1' to type 'MVVMSupport.TestHarness.Data.IADEmployeeRepo'. D:\Users\kicksagnome\Desktop\MVVMSupport\MVVMSupport.TestHarness\App.xaml 16 13 MVVMSupport.TestHarness
Mock<IADEmployeeRepo> repo = new Mock<IADEmployeeRepo>();
repo.Setup<List<ADEmployee>>(r => r.GetAllEmployees())
.Returns(new List<ADEmployee>() { new ADEmployee() { FirstName = "Ryan Butcher" } });
Bind<IADEmployeeRepo>().ToConstant(repo.Object); //Also tried Bind<IADEmployee>().ToMethod(context => repo.Object);
它在设计器的第一次加载时运行良好,但每次更改设计数据并重建解决方案时都会失败。
我知道这不是 moq 的用途,所以问题是......
1.) 有没有办法解决这个问题?
2) 我应该如何添加设计时数据?
【问题讨论】:
标签: c# mvvm ninject moq mvvm-light