c# – Mocking NHibernate&Linq

前端之家收集整理的这篇文章主要介绍了c# – Mocking NHibernate&Linq前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用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进行测试.

解决方法

不要假Nh / linq.而是设置内存中的sqlite数据库进行查询.它们非常快速且易于使用.

猜你在找的C#相关文章