2

VS 2010 ソリューションに 2 つの単体テスト プロジェクトがあります。各プロジェクトには、単体テストに必要な入力データを含む Data ディレクトリがあります。

データが必要なテストクラスに注釈を付けました

[DeploymentItem("Data")]

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

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

私の質問DeploymentItem: 2 つの別々のテスト プロジェクトの s をすべてOut、テストが実行されるディレクトリにコピーするにはどうすればよいですか?

参考までに、これらの質問を確認しましたが、解決策はありません

DeploymentItem 属性の問題

MSTest の展開項目は、プロジェクトのテスト設定ファイルに存在する場合にのみ機能しますか?

4

1 に答える 1

1

各「データ」ディレクトリに一意の名前 (「TestProjectAData」など) を付けると、問題が解決することがわかりました。異なるパスにある複数のディレクトリがすべて異なるテスト プロジェクトへの同じ相対パスを持っている場合 (つまり、すべてのテスト プロジェクトに "Data" というサブディレクトリがある場合)、何らかのバグがあるようです。

于 2012-03-14T20:12:43.190 に答える