我正在我的项目中进行DAO单元测试,并且使用ObjectSet
类时遇到问题。我必须创建一个新的ObjectSet
,但为了做到这一点,我不能连接到数据库。所以我无法使用BusinessModelContainer
的{{1}}方法。有没有办法在没有它的情况下创建CreateObjectSet()
?
单元测试代码如下:
ObjectSet
答案 0 :(得分:12)
你在测试什么?除非您是单元测试EF代码,否则在单元测试中不应该需要真实ObjectSet
的实例。请改用IObjectSet
模拟。没有上下文,无法获取ObjectSet
的实例。
答案 1 :(得分:3)
DAL.Moles.MDALEntities.Constructor = (a) => { };
DALEntities db = new DALEntities(); //Object Context
System.Data.Objects.Moles.MObjectContext.AllInstances.CreateObjectSet<ObjectSetType>(
(a) => { return new System.Data.Objects.Moles.MObjectSet<ObjectSetType>(); }
);
ObjectSet<ObjectSetType> dbList = db.CreateObjectSet<ObjectSetType>();