8

Visual Studio でのユニット テストは初めてで、物理的な xml ファイルをロードしたいと考えています。このファイルは単体テスト プロジェクトにコンテンツとしてあり、出力ディレクトリにコピーされます。

そのため、プロジェクトをコンパイルすると、xml ファイルは出力ディレクトリにあります。しかし、テストを実行すると、すべての依存 DLL を含む新しいディレクトリが作成されますが、xml ファイルはコピーされません。

テストを実行するには、Xml のコンテンツが必要です。このコードを実行して、実行フォルダー内の Xml ファイルのパスを取得します。

private static string GetXmlFullName()
{
    // GetApplicationPath use the current DLL to find the physical path
    // of the current application
    string executeDirectory = AssemblyHelper.GetApplicationPath();
    return Path.Combine(executeDirectory, "content.xml");
}

例外は次のとおりです。

System.IO.DirectoryNotFoundException: 'd:\***\solutiondirectory\testresults\*** 2012-06-13 17_59_53\out\content.xml'.

このファイルを実行フォルダーに追加するにはどうすればよいですか?

前もって感謝します。(そして私の英語でごめんなさい...)

4

2 に答える 2

6

テスト クラスにDeploymentItemAttributeを配置する必要があります。

たとえば、すべてのファイルを Data フォルダーに含めるには

[TestClass()]
[DeploymentItem("Data")]
public class MyTestClass
{
    ...
}
于 2012-06-13T16:10:59.707 に答える