Как настроить LocalDb для модульных тестов в Visual Studio 2012 и Entity Framework 5

У нас есть проект Visual Studio 2012 ASP.NET MVC, использующий Entity Framework 5.

Есть несколько юнит-тестов, которые зависят от базы данных. Настройка файла app.config в тестовом проекте для использования центральной базы данных SQL Server работает нормально.

Однако было бы гораздо лучше использовать LocalDb, чтобы у каждого разработчика была своя база данных при запуске тестов. Тем более, что мы хотели бы, чтобы тесты были настроены наDropCreateDatabaseAlways когда работает.

Однако я не могу заставить установку работать. Если я попробую это в app.config:

<add name="TestDb" 
   connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=unittestdb;
     Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\unittestdb.mdf"
   providerName="System.Data.SqlClient" />

Я получил:

System.Data.SqlClient.SqlException: A file activation error occurred. The physical file name '\unittestdb.mdf' may be incorrect. Diagnose and correct additional errors, and retry the operation. CREATE DATABASE failed. Some file names listed could not be created. Check related errors.

Похоже, он хочет, чтобы файл mdf уже существовал, что кажется странным, поскольку он пытается создать базу данных. Создание файла mdf вручную не меняет сообщение об ошибке.

Ответы на вопрос(5)

Ваш ответ на вопрос