您好我在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:发生错误 从数据库中获取提供者信息。这可以通过 实体框架使用不正确的连接字符串。检查内心 有关详细信息的异常并确保连接字符串是 正确.---> System.data.ProviderIncompatibleException:提供了 不返回ProviderManifestToken字符串.---> System.Data.SqlClient.SqlException:网络相关或插入 建立与SQL Server的连接时发生特定错误。 找不到服务器或无法访问服务器。改变了 实例名称正确,SQL Server配置为允许 远程连接。(proider:SQL网络接口,错误:26-错误 找到指定的服务器/实例)
这是我的连接字符串
<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>
通常使用此连接字符串创建操作。任何人都可以帮我确定问题。谢谢
答案 0 :(得分:1)
请在测试用例项目中添加连接字符串,并且返回操作为Create
而不是Index
。