1

我尝试进行第一个简单的数据驱动测试。

  1. 我用 MS SQL Management Studio 创建了数据库(UnitTestsDb),还创建了一个数据库表(UsersTab)。

我尝试在单元测试中使用这个数据库。代码在这里:

[TestMethod()]
[TestProperty("TestCategory","Developer"), 
DataSource("System.Data.SqlClient",
  "Data Source=.\\SQLEXPRESS;AttachDbFilename=UnitTestsDb.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True",
  "UsersTab", DataAccessMethod.Sequential)]
public void UserConstructorTest()
{//...}

但我得到这个错误:

单元测试适配器连接数据源或读取数据失败。有关解决此错误的详细信息,请参阅 MSDN 库中的“数据驱动单元测试故障排除”( http://go.microsoft.com/fwlink/?LinkId=62412 )。
错误详细信息:尝试为文件 UnitTestsDb.mdf 附加自动命名的数据库失败。存在同名数据库,或无法打开指定文件,或位于 UNC 共享上。

我有问题,如何使用 SQL 管理工作室创建附加的 db 文件。有什么建议吗?

4

1 回答 1

1

这里,您可以尝试:

  1. 将您的连接字符串更新为以下内容:

Driver={SQL Native Client};Server=.\SQLExpress;AttachDbFilename=|DataDirectory|mydbfile.mdf; 数据库=dbname;Trusted_Connection=Yes;

为什么需要数据库参数?如果指定的数据库已经附加,SQL Server 不会重新附加它。它使用附加的数据库作为连接的默认值。

  1. 在身份选项卡的应用程序池属性下,将“网络服务”或“ASP.NET”设置为安全帐户。

  2. 确保您授予“网络服务”或“ASP.NET”帐户的读写权限。授予完全权限并稍后进行调整以确保安全(或不安全)。

于 2010-07-21T10:08:02.873 回答