2

MSTest と DeploymentItem に関する他の質問を読んで、stackoverflow を参照してきました。私はすべてのアドバイスに従いましたが、何もうまくいきませんでした。テスト プロジェクトに "ImportFiles" というフォルダーがあり、"contacts.xlsx" というファイルがあり、[出力ディレクトリにコピー] プロパティが [常にコピー] に設定されていますが、テストを実行してもファイルがコピーされません。

以下サンプルコード。何か案は?

[TestMethod]
[DeploymentItem(@"ImportFiles/contacts.xlsx")]
public void MyTestName()
{
    // get the file and use it here
    var extensions = new {"xlsx"};
    var d = new DirectoryInfo(this.TestContext.TestDeploymentDir);
    List<FileInfo> importFiles = d.GetFiles().Where(f => extensions.Any(e => f.Extension.EndsWith(e))).ToList();
}

テストが初期化されている間、ディレクトリも監視しています。dll の構成ファイルと pdb ファイルだけがコピーされます。

4

1 に答える 1

1

私が見つけたのはこれです:

私は Resharper を使用しており、Resharper コントロールを使用してテストを実行することがよくあります。Resharper v6 は、DeploymentItems を使用して MSTest を適切に初期化しません。つまり、DeploymentItems は出力ディレクトリにコピーされません。解決策は、Resharper コマンドを使用してテストを実行しないことです。[テスト] メニューから [テスト] または [デバッグ] に VS 2010 コマンドを使用 (または Ctrl R、T キーを使用) すると、すべてが適切に展開され、テストが実行されます。

于 2011-12-05T21:55:03.700 に答える