次のように特定のディレクトリをコピーするテストクラスとメソッドがいくつかあります。
[TestClass, DeploymentItem("LanguageData", "LanguageData")]
public class OcrTests
{
[TestMethod]
public void Can_Capture_Field()
{
// some code that expects the LanguageData directory to be in the test results Out directory
}
// etc
}
[TestClass]
public class OcrBuilderTests
{
[TestMethod, DeploymentItem("LanguageData", "LanguageData")]
public void Can_Build_Specific_Ocr_Engine_Implementation()
{
// some more code that expects the LanguageData directory to be in the test results Out directory
}
// etc
}
これらのテストは 1 つのアセンブリにあり、LangaugeData ディレクトリ内のすべてのファイルのCopy to Output Directory
セットはCopy Always
.
Out
ソリューションにロードされたテスト アセンブリが 1 つだけであるか、テストを実行する唯一のアセンブリである限り (つまり、現在のコンテキスト/クラスでのみテストを実行する)、すべて正常に動作し、ディレクトリはテスト結果ディレクトリにコピーされます。
2 番目のアセンブリを追加してソリューション内のすべてのテストを実行するとすぐに、そのディレクトリはコピーされなくなりますが、個々のファイルである他の DeploymentItems は正常にコピーされるようです。
テスト自体はすべて引き続き実行されますが、そのディレクトリに依存するテストはクラッシュします。おそらく、MSTest がディレクトリを見つけられないためです。おそらく、他のテスト アセンブリのいずれかのビルド ディレクトリにあると想定しているのでしょうか。
コピーを妨げている複数のテスト プロジェクトについてのアイデアと、そのディレクトリ内のすべてのファイルを個別の DeploymentItem として追加する以外に、それを回避するためにできることはありますか?