通常のアプリケーション プロジェクトと同じように、MS Tests プロジェクトの作業ディレクトリを設定するにはどうすればよいですか? テストするコンポーネントは、他のアプリケーションでも使用されるいくつかの構成ファイルにアクセスする必要があります。これらのファイルは作業ディレクトリにあると予想されるため、これまでのところ、これらのファイルをテスト プロジェクトの bin/debug フォルダーにコピーする必要があります。
テスト プロジェクトの作業ディレクトリを設定することはできますか?
通常のアプリケーション プロジェクトと同じように、MS Tests プロジェクトの作業ディレクトリを設定するにはどうすればよいですか? テストするコンポーネントは、他のアプリケーションでも使用されるいくつかの構成ファイルにアクセスする必要があります。これらのファイルは作業ディレクトリにあると予想されるため、これまでのところ、これらのファイルをテスト プロジェクトの bin/debug フォルダーにコピーする必要があります。
テスト プロジェクトの作業ディレクトリを設定することはできますか?
Visual Studio 2012 を使用している場合、Properties|Build|OutputPath でテスト プロジェクトの出力ディレクトリを設定すると、Visual Studio からテストを実行するときにそのディレクトリが作業ディレクトリになります (Vstest.console.exe を使用しているため)。 . テスト dll などを他のファイルと同じディレクトリに出力したくない場合や、他のファイルをテスト プロジェクトのコンテンツとして使用したくない場合 (Schaliasos の提案による)、次のように設定できます。[AssemblyInitialize]
属性を持つメソッドの起動時のパス。System.Environment.CurrentDirectory
これを行うには、通常どおり割り当てます。おそらく、作業ディレクトリを設定として使用するか、構成ファイルから読み取る必要があります。
編集
Rohit.Net で指摘されているようRun All Tests
に、デフォルトのパスを選択すると、TestResults の下になります。runsettings
ファイルを使用する場合も同様です。DeploymentItems を使用しておらず、次の場合は、出力フォルダーがデフォルトの作業ディレクトリになります。
テスト プロジェクトの作業ディレクトリは、テストの実行開始時に作成されます。
それらをローカルで実行すると、これはTestResults
プロジェクト フォルダー内のフォルダーに作成されます。これらをリモート マシンで実行すると、次のパスの各テスト エージェントに異なるフォルダーが作成されます。
C:\Users{userRunsTheTest}\AppData\Local\VSEQT\QTAgent\{GuidForThisRun}
ファイルをこれらのフォルダーに展開してアクセスできるようにするには、次のことを行う必要があります。
Copy to Output Directory = Copy Always
Run All tests
Visual Studio 2012 のテスト エクスプローラーから選択すると、Acarlon の提案が機能しません。
...\TestResults\Deploy_<YourName>2014-01-13 14_48_20\Out
取得するデフォルトのパスは、フォルダーのようなものです。
このため、エンティティがエンティティ関連のテストを実行するために接続を開こうとすると、DB にアクセスできない可能性があります。
私の場合、リソース ファイルとして設定され、常にコンパイルされ、Bin/Debug/Resource
フォルダーにドロップされる SQL CE を使用しています。