Модульный тест с атрибутом DataSource

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

  1. Я создал базу данных (UnitTestsDb) с помощью студии MS SQL Management, а также создал одну таблицу базы данных (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. Любой совет?


person Janc1    schedule 21.07.2010    source источник


Ответы (1)


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

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

Driver={SQL Native Client};Server=.\SQLExpress;AttachDbFilename=|DataDirectory|mydbfile.mdf; База данных=dbname;Trusted_Connection=Да;

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

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

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

person Tobiasopdenbrouw    schedule 21.07.2010