У нас есть проект ASP.NET MVC Visual Studio 2012 с использованием 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: произошла ошибка активации файла. Физическое имя файла '\ unittestdb.mdf' может быть неправильным. диагностики и исправить дополнительные ошибки, и повторить операцию. СОЗДАЙТЕ Сбой базы данных. Некоторые имена файлов не могут быть созданы. Проверьте связанных с ошибками.
Похоже, он хочет, чтобы файл mdf уже существовал, что кажется странным, поскольку он пытается создать базу данных. Создание файла mdf вручную не изменяет сообщение об ошибке.