19

MS unit testing frameworkC# ライブラリのテストに使用しています。を使用して展開しているファイルを開く必要がありますDeploymentItem attribute。ただし、テスト展開ディレクトリにファイルを展開していません。

私のユニットテストプロジェクトではTestFile、このフォルダーに複数のファイルがあるフォルダーを作成しました.a.txt、b.txtとしましょう。

単体テスト クラスに DeploymentItem 属性を追加しました。しかし、ファイルはコピーされていません。

これが私のコードです。

[TestClass]
[DeploymentItem("TestFile")]
public class CustomLibraryTest
{
    public TestContext TestContext { get; set; }

    [TestMethod]
    [DeploymentItem(@"TestFiles\a.txt")]  // THis should deploy a.txt to test deployment directory
    {
        var path = TestContext.TestDeploymentDir + "a.txt";
        // Now when I debug this unit-test, and open path in explorer,
        // a.txt is not present in "TestResults\Deploy_fhafeez 2013-05-28 13_02_37\Out" folder
    }
}

私が間違っていることは何ですか?

4

3 に答える 3

21

このスレッドで 2 つの解決策を見つけました。

  1. 展開ファイルの [出力フォルダーにコピー] プロパティを [常にコピー] に設定します ( DeploymentItem 属性の問題を参照してください) 。
  2. Local.testsettings ファイルの「配置を有効にする」設定を確認します ( DeploymentItem 属性の問題を参照してください) 。

お役に立てれば。

于 2013-05-28T08:25:51.410 に答える