2012-03-12 9 views
2

VS 2010ソリューションに2つの単体テストプロジェクトがあります。各プロジェクトには、単体テストに必要な入力データを持つDataディレクトリがあります。MSテスト、ソリューション内の複数のテストプロジェクト、およびDeploymentItemAttribute

私は個別にテストを実行すると、実行罰金を

[DeploymentItem("Data")] 

とのデータを必要とするテストクラスを注釈付き。しかし、ソリューション内のすべてのテストを実行(またはデバッグ)すると、2つのDataディレクトリのうち1つだけがTestResults\MyTestDir-YYYY-MM-DD HH_mm_SS\Outにコピーされ、他のデータディレクトリに依存する単体テストが失敗することがあります。

興味深いことに、[テスト結果]ウィンドウを使用して、チェックされた(失敗した)テストを再実行すると、テストは失敗します(正しいデータディレクトリのファイルが存在しないことを認識しません)。私が失敗したテストに直接ナビゲートし、現在のコンテキストでテストを実行を選択すると、テスト実行は正しいDataディレクトリを取得し、テストは成功します。

私の質問:どのように私は2つの別々のテストプロジェクトからDeploymentItemのすべてのテストが実行されているOutディレクトリにコピーされることがありますか?参考のため

、私は解決策

Problems with DeploymentItem attribute

Do MSTest deployment items only work when present in the project test settings file?

答えて

1

に注意せずにこれらの質問を検討してきた私は、固有の名前(例えば「TestProjectAData」)各「データ」ディレクトリを与えることが解決ことがわかりました問題。異なるパスの複数のディレクトリがすべて異なるテストプロジェクト(つまり、すべてのテストプロジェクトに「データ」というサブディレクトリがある場合)に同じ相対パスを持つ場合、何らかのバグがあるようです。

関連する問題