0

App_Data/ASPNETDB.MDF の下にローカル データベースを持つ MVC3 Web アプリケーションがあります。NUnit を実行するために使用している統合テスト プロジェクトもあります。データベースから読み取るいくつかのテストがあります。接続文字列を MVC プロジェクトの web.config からテスト プロジェクトの app.config にコピーしました。どちらのプロジェクトも Entity Framework Code First を使用しています。

私のサイトはうまく機能します。私のテストはうまくいきます。しかし、データは両方のプロジェクトで異なります。エルゴ...彼らは異なるデータベースを使用していますよね?

<head scratch="true">
    <puzzledLook />
</head>

私の質問

  1. それらは本当に異なるデータベースですか?
  2. テスト プロジェクトのデータベース ファイルはどこにありますか? 見つからない。
4

2 に答える 2

1

テスト実行により、テストフォルダが作成されます。データベースファイルは、出力ディレクトリにコピーするようにマークされていますか?その場合、追加できませんでした

Assembly.GetExecutingAssembly().Location

あなたのユニットテストのいずれかに?

于 2012-07-17T21:52:05.557 に答える
0

Environment.GetCommandLineArgs()[0] を使用しますが、上記の答えはほぼ正しいと思います

私のテスト プロジェクトの例は、c:\program files\microsoft visual studio 9.0\common7\ide\ です。

実行時にデータを見つけることができるように、AppDataフォルダーがexeの場所にコピーされていることを思い出したようです

この問題は、単体テストが VSTestHost.exe という別の実行可能ファイルによって実行されるために発生します。

于 2012-07-17T22:02:29.867 に答える