【问题标题】:Unit test with DataSource attribute具有 DataSource 属性的单元测试
【发布时间】:2010-07-21 09:56:13
【问题描述】:

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

  1. 我使用 MS SQL Management Studio 创建了 db (UnitTestsDb),还创建了一个 db 表 (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 文件。有什么建议吗?

【问题讨论】:

    标签: c# sql sql-server unit-testing data-driven-tests


    【解决方案1】:

    来自here,你可以试试:

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2014-04-07
      • 2018-12-02
      • 1970-01-01
      • 2016-04-29
      • 2021-05-03
      • 2018-09-04
      • 2012-08-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多