5

DeploymentItem を見つけました

[TestClass(), DeploymentItem(@"TestData\")]

テストがビルドされ、異なるマシンで実行されるときに、テスト データ ファイルが同じ場所にコピーされません。

テスト データ ファイルは、私のマシンではテスト プロジェクトの "bin\debug" ディレクトリにコピーされますが、友人のマシンでは "TestResults\ name_machine YY-MM-DD HH_MM_SS \Out" にコピーされます。

私のマシンの bin\debug ディレクトリは、次のコードで取得できます。

string appDirectory = 
Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);

同じコードがTestResults\*name_machine YY-MM-DD HH_MM_SS*\Out友人の PC に返されます。

ただし、これは実際には問題ではありません。問題は、私が作成したテスト データ ファイルがフォルダー構造を持っていることです。このフォルダー構造は、私のマシンでは bin\debug にコピーされたときにのみ保持されますが、友人のマシンではファイルのみがTestResults\*name_machine YY-MM-DD HH_MM_SS*\Outディレクトリに追加されます。これは、私のマシンではテストが成功し、彼のマシンでは失敗することを意味します!

DeploymentItem が常に bin\debug フォルダーにコピーされるようにする方法はありますか? または、DeploymentItem がファイルをTestResults\*name_machine YY-MM-DD HH_MM_SS*\Outフォルダーにコピーするときにフォルダー構造が保持されるようにする方法はありますか?

4

1 に答える 1

2

しばらく遊んだ後、次のように、すべてのサブディレクトリに対して新しい DeploymentItem を追加し、必ず「outputDirectory」を指定するようにするのが最善の方法のようです。

[TestClass(), DeploymentItem("TestData\\", "TestData"),
DeploymentItem(@"TestData\\SubDir\\", "TestData\\SubDir")]

これにより、マシンでテストを実行できるようになります - これが誰かの役に立てば幸いです!

于 2010-06-22T12:40:12.480 に答える