テストを実行する前に単体テスト プロジェクトをビルドすると、テスト出力が TestResults フォルダーにコピーされてから、テストが実行されます。私が抱えている問題は、Debug/bin ディレクトリ内のすべてのファイルが TestResults プロジェクトにコピーされないことです。
Debug/bin ディレクトリにコピーされたファイルを TestResults フォルダにもコピーするにはどうすればよいですか?
テストを実行する前に単体テスト プロジェクトをビルドすると、テスト出力が TestResults フォルダーにコピーされてから、テストが実行されます。私が抱えている問題は、Debug/bin ディレクトリ内のすべてのファイルが TestResults プロジェクトにコピーされないことです。
Debug/bin ディレクトリにコピーされたファイルを TestResults フォルダにもコピーするにはどうすればよいですか?
これを行う標準的な方法は、ファイル内の展開項目を指定することです。これには、Visual Studio の[テスト] メニューまたは[ソリューション項目] フォルダーの [テスト実行構成.testrunconfig
の編集] 項目からアクセスできます。
以下に示す例のように、デプロイメント属性を指定できます。また、「コンテンツ」と「新しい場合はコピー」プロパティを設定する必要があります(後の設定に関するドキュメントはありませんが、機能させるためにそれらを設定しました.
[TestMethod]
[DeploymentItem("mytestdata.xml")]
public void UploadTest()
{
}
属性を機能させるにTest -> Edit Test Settings -> Local -> Deployment
は、下の[展開を有効にする]をオンにする必要がありました。[DeploymentItem]
必要に応じて、3 つの答えはすべて正しいです。
デプロイするファイルを.testrunconfig (VS2010 では .testsettings) に追加すると、関係のないテストが分離して実行されている場合でも、これらのファイルすべてがすべてのテスト出力フォルダーにコピーされます。1 つのテストを実行すると、.testssettings の配置セクションにリストされているすべてのテスト データ ファイルがテスト出力フォルダーにコピーされます。
私のテストでは、予想される XML ファイルをテスト出力フォルダーにコピーして、実際のテスト出力 XML と比較する必要があります。DeploymentItem 属性を使用して、実行中のテストに関連する XML ファイルのみをコピーします。VS2010 では、.testsettings ファイルで展開を有効にし (パスを追加しないでください)、DeploymentItem で TestProject に関連する XML ファイル パスを参照する必要がありました。
お役に立てれば。
同様の問題がありましたが、私は Local.testsettings ファイルではなく TraceAndTestImpact.testsettings ファイルを指すことに関係していました。Test/Select Active Test Settings メニューで、一方から他方に変更できます。
Visual Studio 2012 では、単純なケースでは DeploymentItem 属性は必要ありません。ここで私の答えを見てください
Visual Studio 内からビルド後のイベント コマンド ラインを試してください (その IDE を使用している場合)。