0

嗨,我在 mvc4 的实体框架中生成了一个 CRUD 操作。现在我对这些类进行单元测试..我在控制器中使用以下代码进行创建

[HttpPost]
public ActionResult Create(Member member)
{
    if (ModelState.IsValid)
    {
        db.Members.Add(member);
        db.SaveChanges(); 
        return RedirectToAction("Index");
    }

    return View(member);
}

我正在使用测试代码进行测试,

[TestMethod]
public void Create()
{
    MemberController me = new MemberController();
    var mem = new Member();
    mem.MemID = 123;
    mem.MemName = "sruthy";
    var result = (RedirectToRouteResult)me.Create(mem);
    Assert.AreEqual("Index", result.RouteValues["action"]);
}

我只是尝试测试创建类。但它显示以下错误

测试失败:创建

消息:测试方法 SmpleTest.MemberTest.Create 抛出异常:System.data>ProviderIncomactibleException:从数据库获取提供程序信息时发生错误。Entity Framework 使用不正确的连接字符串可能会导致这种情况。检查内部异常以获取详细信息并确保连接字符串正确。--->System.data.ProviderIncompatibleException:The provide did not return a ProviderManifestToken string.---> System.Data.SqlClient.SqlException:A network-related或在建立与 SQL Server 的连接时发生特定错误。未找到服务器或无法访问该服务器。验证实例名称是否正确并且 SQL Server 配置为允许远程连接。(proider:SQL Network Interfaces, error:26-Error Locating Server/Instance Specified)

这是我的连接字符串

<connectionStrings>
    <add name="SampleDataContext" connectionString="Data Source=(LocalDb)\v11.0;Initial      Catalog=Sample;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\Sample.mdf" providerName="System.Data.SqlClient" />
</connectionStrings>

通常使用此连接字符串进行创建操作。谁能帮我找出问题所在。谢谢

4

1 回答 1

1

请在测试用例项目中添加连接字符串,您的返回操作Create不是Index.

于 2013-10-09T08:35:36.630 回答