我一直在浏览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文件之外什么都没有被复制。
答案 0 :(得分:1)
我发现的是:
我使用Resharper并经常使用Resharper控件运行测试。 Resharper v6没有使用DeploymentItems正确初始化MSTest,即DeploymentItems永远不会复制到输出目录。解决方案是不使用Resharper命令来运行测试。如果您在“测试”菜单中使用VS 2010命令进行测试或调试(或使用Ctrl R,T),则会正确部署所有内容并运行测试。