我正在使用NHibernate并在前端暴露了Session.我有一个控制器动作,它检索任务如下:
public ActionResult Overview(DateTime date) { var allTasks = GetTasksUpUntilDate(date); return PartialView("Tasks/Overview",allTasks); } private List<TaskOverviewmodel> GetTasksUpUntilDate(DateTime date) { var allTasks = _session.Query<Task>().Where(t.BookedBy.UserName.Equals(CurrentUser.Name,StringComparison.CurrentCultureIgnoreCase)); var tasks = allTasks.Where(t => t.DueDate <= date); var taskVMs = new List<TaskOverviewmodel>(); tasks.ForEach(t => taskVMs.Add(MapEntityToviewmodel(t))); return taskVMs; }
现在我不想仅为我的视图创建一个IRepository,因为ISession实际上已经是一个存储库.然而,嘲弄/剔除这个证明相当困难.所以任何人都可以帮助我拥有_session.Query返回我在测试时提供的对象列表吗?
我还想避免在内存数据库中设置并使用RhinoMocks进行测试.