2011-11-02 124 views
5

我有不同的部署项目不同的测试,例如:不同的部署项目

[TestMethod] 
[DeploymentItem("item1.xml")] 
public void Test1(){...} 

[TestMethod] 
[DeploymentItem("item2.xml")] 
public void Test2(){...} 

如果我进行的测试,一个接一个它的工作原理,但是,如果我运行它们togheter所有部署项目被复制,因此Test2将在输出文件夹中运行item1.xml和item2.xml。

我想要做的只是运行每个测试与输出文件夹中的指定部署项目。

是否有任何方法可以在每次测试后清理部署项目?

我的解决方法是将项目部署到每个测试的输出子文件夹,但我不喜欢它。

回答

0

如果定义在您的测试类下面,你可以实现你在找什么:

[TestInitialize()] 
public void Setup() 
{ 
    //Delete all files from the deployment directory 
} 

我倾向于不使用文件作为“单位”测试的一部分,所以我对此我并不乐观,但是如果你真的希望将文件分离到那个目录中,而不是在子目录中,可能值得考虑。

+0

在测试运行之前,DeploymentItem属性中指定的所有文件都被复制到输出文件夹。做你所说的只会删除所有这些文件。我自己遇到了这个问题,我仍在寻找一种方法来获得@Pomber所要求的 – amaters