2

我一直在浏览 stackoverflow,阅读有关 MSTest 和 DeploymentItem 的其他问题;我已经听从了所有的建议,但没有什么对我有用。我的测试项目中有一个名为“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 回答