Модульное тестирование с атрибутом DataSource - PullRequest
1 голос
/ 21 июля 2010

Я пытаюсь сделать мой первый простой тест на основе данных.

  1. Я создал базу данных (UnitTestsDb) в MS SQL Management studio, а также создал одну таблицу базы данных (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()
{//...}

Но я получаю эту ошибку:

Адаптер модульного тестирования не смог подключиться к источнику данных или прочитать данные. Дополнительные сведения об устранении неполадок, связанных с этой ошибкой, см. В разделе «Устранение неполадок в модульных тестах, управляемых данными» (http://go.microsoft.com/fwlink/?LinkId=62412) в библиотеке MSDN.
Сведения об ошибке: Попытка присоединить базу данных с автоматическим именем для файла UnitTestsDb.mdf не удалась. База данных с тем же именем существует, или указанный файл не может быть открыт, или он находится на общем ресурсе UNC.

У меня проблема, как прикрепленный файл БД, созданный с помощью SQL Managment studio. Любой совет?

1 Ответ

1 голос
/ 21 июля 2010

С здесь , вы можете попробовать:

  1. Обновите строку подключения следующим образом:

Драйвер = {Собственный клиент SQL}; Сервер =. \ SQLExpress; AttachDbFilename = | DataDirectory | mydbfile.mdf; Database = имя_бд; Trusted_Connection = Да;

Зачем нужен параметр базы данных? Если указанная база данных уже подключена, SQL Server не присоединяет ее повторно. Он использует подключенную базу данных в качестве соединения по умолчанию.

  1. В свойствах пула приложений на вкладке удостоверения задайте «Сетевая служба» или «ASP.NET» в качестве учетной записи безопасности.

  2. Убедитесь, что вы предоставляете разрешения на чтение и запись для учетной записи «Сетевая служба» или «ASP.NET». Дайте полное разрешение и настройте позже, чтобы быть на безопасной (или небезопасной) стороне.

...