【发布时间】:2012-05-29 13:48:30
【问题描述】:
我正在使用 Moq 创建数据集的模拟。
我创建了一个小助手类,它允许我拥有一个内存存储而不是一个使单元测试变得轻而易举的数据库。这样我就可以从我的模拟数据集中添加和删除项目,这允许我测试我的插入和删除服务调用。
在模拟设置期间,我有一行如下所示
this.Setup(i => i.AcademicCycles).Returns(mockStore.GetList<AcademicCycle>());
我的模拟有很多属性,所以我想使用反射来执行这个设置步骤。我已经设法通过反射工作到Returns 过程的一部分,但我被困在Setup 的lambda 方法上。
Setup 接受一个
Expression<Func<GoalsModelUnitOfWork, IQueryable<AcademicCycle>>> 对应于i => i.AcademicCycles
我想动态创建它。使用反射我有以下内容:
属性名称:“AcademicCycles”
类型IQueryable<AcademicCycle>
类型AcademicCycle
我在 lambda 语句中也有 i 的实例,它是 GoalsModelUnitOfWork
【问题讨论】:
标签: c# reflection lambda moq expression