有没有办法通过MSTEST部署保留文件夹结构?
我遇到一些现有代码,我在子文件夹中有.config文件(称为“配置”)。我可以使用MSTEST部署指定此文件夹,但是,无论如何,MSTEST只是将文件从此文件夹复制到运行文件夹(TestResult \\ Out),即它不会创建名为Configuration的子文件夹。这真的搞砸了代码,它失败了。我真的不想开始使用复杂的预测试脚本来创建文件夹等。
感激地收到任何想法。
马特
答案 0 :(得分:1)
我想我遇到了同样的问题......
我的测试使用了一个名为xsd的文件夹,我想将该文件夹部署到test \ OUT目录。当我这样做时,xsd文件夹中的文件被复制到test \ OUT目录,但我希望文件夹xsd进入test \ OUT目录......
答案 1 :(得分:1)
如果您正在使用DeploymentItem属性,则需要第二个参数来复制文件的目录名称。如果您使用与文件夹相同的名称,它会保留所有内容。
要使用您的测试用例:
[DeploymentItem("Configuration", "Configuration")]
class TestClass
....
它会起作用。
答案 2 :(得分:0)
是的,你可以。阅读文章Do MSTest deployment items only work when present in the project test settings file?
它解释了如何映射部署项目。
答案 3 :(得分:0)
在Visual Studio 2012中,输出目录是工作目录,这意味着一般情况下不需要DeploymentItem属性(在此情况下,您没有特定的每个测试或每个类的部署项)。您只需单击Project |显示所有文件并在Visual Studio中包含子文件夹和文件,并将“始终复制”或“如果更新时复制”属性包含在项目中,文件将复制到输出目录,且层次结构完整。从命令行运行vstest.console.exe时也是如此。
有关Visual Studio 2012中的部署项的详细信息,请参阅here。