EDMX模型的MVC测试错误

时间:2016-11-25 02:41:51

标签: asp.net-mvc entity-framework unit-testing asp.net-mvc-4

我创建了一个新的MVC解决方案,添加了单元测试,数据库模型(EDMX)和存储库代码。

我刚刚添加了一个非常简单的单元测试,以确认存储库将通过单元测试,并且它会因此错误而失败:

  

发生了'System.InvalidOperationException'类型的异常   EntityFramework.dll但未在用户代码中处理

     

其他信息:无法提供映射和元数​​据信息   找到EntityType'rlb.Models.rlb_Logins'。

为两个项目安装了实体框架。

失败的代码如下所示:

public BaseRepository()
{
    dbContext = new DbContext("mapbsEntities");

    // Unit Test Fails here
    _objectSet = ((IObjectContextAdapter)dbContext).ObjectContext.CreateObjectSet<TEntity>();
}

正在测试的控制器代码:

public ActionResult RepoTest()
{
    rlb_LoginsRepository<rlb_Logins> rlb_LoginsRepo = new rlb_LoginsRepository<rlb_Logins>();
    rlb_Logins loginsRecord = rlb_LoginsRepo.Find(m => m.nid == 1).FirstOrDefault();

    ViewBag.Message = loginsRecord.cLogin;
    return View();
}

最后是单元测试代码:

[TestMethod]
public void LoginsTest()
{
    HomeController controller = new HomeController();
    ViewResult result = controller.RepoTest() as ViewResult;
    Assert.AreEqual("mylogin", result.ViewBag.Message);
}

代码在生产中有效......但是我们想在开始编码之前对这个单元进行测试。

TIA, 标记

0 个答案:

没有答案