2011-11-02 121 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