Entity Framework 5 を使用した Visual Studio 2012 ASP.NET MVC プロジェクトがあります。
データベースに依存する単体テストがいくつかあります。中央の SQL Server データベースを使用するようにテスト プロジェクトで app.config ファイルを設定すると、問題なく動作します。
ただし、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 ファイルを手動で作成しても、エラー メッセージは変わりません。